2

В данный момент у меня нет желания изучать Ruby, но я просто хочу узнать, в чем разница между gem install --bindir ~/path/ и gem install --user-install если каждый из путей в моем $PATH .

1 ответ1

3

Посмотрите ссылку на команду Ruby GEM здесь:

-n, -​-bindir DIR - Directory where binary files are located

-​-[no-]user-install - Install in user’s home directory instead of GEM_HOME.

Эффективно и оперативно вы - как конечный пользователь, использующий Ruby - действительно не заметите разницы, если пути к файлам находятся в вашем $PATH . Но каждая команда явно имеет дело с различным аспектом файловой системы установки Ruby GEM.

- -bindir

-​-bindir относится к bin ичной dir ectory. Многие Ruby GEMS устанавливают файлы сценариев Ruby как часть своей основной библиотечной функции, но также устанавливают «двоичный файл» как часть процесса установки. Это означает, что если вы программист на Ruby, вы, возможно, захотите установить Ruby GEM, чтобы иметь доступную ссылку на его основной код в вашем собственном коде. Но двоичный файл, который выполняет эквивалентную или «вспомогательную» задачу, устанавливается вместе с этими файлами библиотеки Ruby GEM. С точки зрения управления файловой системой, некоторые пользователи могут захотеть установить эти двоичные файлы в отдельный каталог вместо каталога по умолчанию Ruby GEMs.

- -user установить

Таким образом, в то время как -​-bindir - это параметр, позволяющий контролировать, где устанавливаются двоичные файлы, связанные с Ruby GEM, -​-user-install - это ручное переопределение того, куда устанавливаются все файлы Ruby GEM; двоичные файлы, библиотеки и тому подобное. Используя -​-user-install вы инструктируете Ruby GEM устанавливать GEM в каталоге ~/.gem который, конечно же, находится в домашнем каталоге вашего пользователя. Без опции -​-user-install файлы Ruby GEM будут устанавливаться туда, где находится путь GEM_HOME по умолчанию.

Изменение пути к файлу по умолчанию с помощью --user-install не повлияет на работу. Ruby GEM будут просто устанавливаться в каталог ~/.gem который находится в вашем домашнем каталоге, и Ruby будет знать, как проверить там, а также свой собственный путь по умолчанию для обновлений.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .