Какова цель двоичного файла RVM, если его можно запустить как функцию?

#ruby #rvm

#ruby #rvm

Вопрос:

Я недавно начал использовать Ruby, и мне сказали изучить возможность использования RVM. В настоящее время я пытаюсь понять, как это работает, но, насколько я могу судить с веб-сайта, его можно запустить либо как двоичный файл, либо как функцию в командной строке, изменив .bash_profile .

Для чего нужны двоичные файлы? Я заметил, что они были установлены в ~/bin , что выглядело довольно беспорядочно, и, похоже, они не вызывались при использовании rvm команды. Нужны ли вообще двоичные файлы при запуске RVM как функции оболочки?

Комментарии:

1. RVM устанавливает свои двоичные файлы в ~/.rvm/bin . Попробуйте which rvm , и вы увидите его в своем ~/.rvm/bin/rvm . Он помещает все в свою собственную изолированную среду, так что вы можете очень аккуратно удалить все это, если захотите.

2.В моем Ubuntu 10.04 rvm скрипт находится в обоих каталогах ~/bin и ~/.rvm/bin , хотя which rvm указывает на тот, в ~/.rvm/bin . Я не знаю, что / где находится rvm двоичный файл и как он называется?

Ответ №1:

Для пользователей unix нормально и желательно помещать двоичные файлы в ~/bin (обычно вы добавляете это в свой $PATH ), так что не думайте, что устанавливать туда что-то неудобно.

Тем не менее, ~/bin/rvm — это скрипт, который позволит вам запускать команды rvm (например, install), но не может редактировать среду вашей оболочки (как и все программы). Команды, которые должны редактировать среду (например, use), были бы невозможны без функции rvm. Не будучи особо знакомым с rvm, я предполагаю, что ~/bin/ rvm существует для людей, которые не хотят включать rvm во все свои оболочки. В конце концов, вам не нужно ничего из того, что rvm помещает в ~/bin, если вы собираетесь изменить свой ~ /.bashrc, как рекомендовано.

Комментарии:

1. Спасибо за разъяснение. Я не знал о ~/bin. Я признаю, что я новичок в Unix, но я помещал большинство вещей в /usr / local / bin. В чем разница между этим и ~/bin?

2. @Jens Ljungblad: /usr/local/bin — подходящее место для размещения материалов, которые были бы интересны всем пользователям вашей системы (я подозреваю, что установка rvm на весь сайт будет установлена там). В ~/bin могут находиться утилиты, специфичные для вас (установленная пользователем rvm), вспомогательные скрипты, которые вы написали для себя, и т.д.