Эффективная разница между "gem install --bindir ~/path/to/folder" и "--user-install" в Ruby
В данный момент у меня нет желания изучать 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 GEM s.
- -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 знает, как проверить его, а также свой собственный путь обновлений по умолчанию.