В данный момент у меня нет желания изучать Ruby, но я просто хочу узнать, в чем разница между gem install --bindir ~/path/
и gem install --user-install
если каждый из путей в моем $PATH
.
1 ответ
Посмотрите ссылку на команду 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 будет знать, как проверить там, а также свой собственный путь по умолчанию для обновлений.