Ответ 1
Я не понял, что делает ~/.profile
правильно; Мне нужно было изменить ~/.bash_profile
. Проблема решена!
RVM установлен на моем компьютере (работает Mac OSX 10.6.8), и он работает нормально. Странно, что для его запуска я должен использовать source ~/.rvm/scripts/rvm
для каждого нового сеанса. Я попытался сделать символическую ссылку от нее до /opt/local/bin/rvm
, но когда она запускается, она ничего не делает. Я также попытался создать символическую ссылку от ~/.rvm/bin/rvm
до /opt/local/bin/rvm
, а когда я запустил rvm
в терминале, она отобразит страницу справки, как и ожидалось. Но когда я пытаюсь rvm use some_ruby_version
, он всегда показывает: "RVM не является функцией, выбор рубинов с использованием" rvm use... "не будет работать". Как я могу это исправить?
Моя цель - получить его до такой степени, что мне не нужно вводить команду источника каждый сеанс, и по какой-то причине ~/.profile
не выполняется.
Я не понял, что делает ~/.profile
правильно; Мне нужно было изменить ~/.bash_profile
. Проблема решена!
Вы должны перенести RVM script в текущий сеанс, потому что он вносит изменения в среду оболочки - и это абсолютно невозможно сделать из дочернего процесса. Ваши усилия по запуску RVM в качестве внешней команды не могут быть успешными.
Чтобы исправить это, у вас есть два варианта:
.profile
..bashrc
на исходный RVM вместо этого, который также работает и для недействительных оболочек.Чтобы сделать вторую, вы можете просто добавить в ~/.bashrc
:
if test -f ~/.rvm/scripts/rvm; then
[ "$(type -t rvm)" = "function" ] || source ~/.rvm/scripts/rvm
fi
Если вы используете zsh вместо оболочки bash, вам необходимо:
1.
vi ~/.zshrc
2. Как сказал Мэтт, добавьте:
if test -f ~/.rvm/scripts/rvm; then
[ "$(type -t rvm)" = "function" ] || source ~/.rvm/scripts/rvm
fi
3. Перезапуск Terminall 4. Сделано!
rvm use 1.9.3
Работа Wil
Ну, с горным львом (10.8.3), что работало для меня, редактировалось /etc/profile
и добавив строку, указанную ранее в нижней части файла:
if test -f ~/.rvm/scripts/rvm; then
[ "$(type -t rvm)" = "function" ] || source ~/.rvm/scripts/rvm
fi
У меня была такая же проблема. Я обнаружил, что файл .profile не обновляется, поэтому я добавил ту же команду, которая была добавлена в .bash_profile:
[[-s "$ HOME/.rvm/scripts/rvm" ]] && & && & source "$ HOME/.rvm/scripts/rvm"
Я не знаю, правильно ли это, но это сработало...
Вам не нужно редактировать что-либо, как предлагают другие. Просто зайдите в настройки своего терминала и выберите команду "Запуск в качестве оболочки входа". Это приведет к запуску .profile в следующем экземпляре терминала. Повторно запустите терминал, и вы сможете использовать rvm use 1.9.3
(или любую другую версию, которую вы установили).
Дополнительная информация найдена на rvm.io(что также отличное место для ответов)
Вам нужно сделать некоторые настройки.
Откройте терминал и запустите эту команду.
source ~/.rvm/scripts/rvm
а затем перейдите к edit > Title and command
и проверьте Run command as login shell
и все готово. Теперь вам не нужно указывать источник каждый раз.
Что меня задирало, предполагал, что мой путь был прав, так как я использовал один, который я могу запустить вручную.
По-видимому, существуют разные исполняемые файлы или скрипты, которые можно использовать и находятся в разных местах.
Я думал, что путь, которым должен пользоваться Мина, был следующим:
/usr/local/rvm/bin/rvm
Когда на самом деле это было так:
/usr/local/rvm/scripts/rvm
У меня была эта проблема, когда я стал root. Я попробовал много из вышеперечисленных решений. В конечном итоге работала с корнем и была постоянным пользователем. Это то, что мне было нужно.
Ни одно из этих решений, похоже, не искупило мою проблему, которая была на Ubuntu 12.04 LTS.
Я сделал следующее:
rvm get stable --auto-dotfiles
, как указано в документации RVM здесьsource ~/.profile
в качестве первой строки: ~/.bash_profileЯ не буду все эти шаги документированы как ошибки из командной строки RVM:
RVM не является функцией, выбирая рубины с использованием "rvm use...", не будет Работа. Вам нужно изменить настройки эмулятора терминала, чтобы login shell. Иногда требуется использовать
/bin/bash --login
как команда. Пожалуйста, посетите https://rvm.io/integration/gnome-terminal/для примера.
и
ПРЕДУПРЕЖДЕНИЕ: у вас есть файл ~ ~.profile, вы можете загрузить его, для этого добавьте следующую строку в '/home/user_name/.bash_profile':
источник ~/.profile