Почему у меня не работает "RVM --default" в MacOSX? - PullRequest
30 голосов
/ 09 апреля 2011

После довольно длительного использования Ruby и Rails я захотел попробовать RVM. Все отлично работает, кроме одного:

В недавно открытом Терминале ruby указывает на системный рубин, несмотря на то, что я использовал команду rvm --default.

user@terra ~ $ ruby -v
ruby 1.8.7 (2010-08-16 patchlevel 302) [i686-darwin10]
user@terra ~ $ which ruby
/opt/local/bin/ruby
user@terra ~ $ rvm list
   ruby-1.8.7-p334 [ ]
=> ruby-1.9.2-p180 [ ]

После звонка все нормально rvm reload

user@terra ~ $ rvm reload
user@terra ~ $ ruby -v
ruby 1.9.2p180 (2011-02-18 revision 30909) [x86_64-darwin10.7.1]
tmangner@terra ~ $ which ruby
/Users/user/.rvm/rubies/ruby-1.9.2-p180/bin/ruby

Я настроил .bash_profile, как описано в документации:

...
[[ -s "/Users/user/.rvm/scripts/rvm" ]] && source "/Users/user/.rvm/scripts/rvm" 

Спасибо за вашу помощь. Это высоко ценится.

Я использую Mac OS X Snow Leopard (10.6.6)

Обновление:

Это --default, похоже, не работает для меня ...

user@terra ~ $ rvm use 1.9.2 --default
Using /Users/user/.rvm/gems/ruby-1.9.2-p180
user@terra ~ $ rvm default
user@terra ~ $

Ответы [ 18 ]

45 голосов
/ 09 апреля 2011

Однажды у меня была такая же проблема. Оказалось, что дважды загрузился rvm-скрипт, что немного сломало.

Проверьте все файлы, которые загружаются при открытии оболочки, например, /etc/profile, ~/.bashrc, ~/.bash_profile и так далее, и убедитесь, что они не загружают RVM дважды.

Возможно, поместите echo "Going to load RVM" перед [[ -s "/Users/user/.rvm/scripts/rvm" ]] && source "/Users/user/.rvm/scripts/rvm" в вашем ~/.bash_profile, чтобы посмотреть, произойдет это или нет

17 голосов
/ 28 июня 2011

Перемещение это:

[[ -s "/usr/local/rvm/scripts/rvm" ]] && . "/usr/local/rvm/scripts/rvm"

в нижней части ~ / .bash_profile решил проблему для меня.

7 голосов
/ 09 февраля 2013

Возможное исправление для пользователей ZSH:

Каким-то образом у меня было:

[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm"

в .zprofile и .zshrc.

Удаление строки из .zprofile решило проблему. (Хотя вы должны иметь возможность удалить любой из них, если только он появляется один раз)

6 голосов
/ 31 января 2012

У меня была такая же проблема. Перемещение строки: [[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" # Load RVM function

после строки из MacPorts: export PATH=/opt/local/bin:/opt/local/sbin:$PATH

решил проблему для меня.

6 голосов
/ 09 апреля 2011

Вы запускали команду rvm use --default 1.9.2?

Это сработало для меня на openSUSE, хотя я не знаю насчет снежного барса.

5 голосов
/ 09 августа 2011

У меня была такая же проблема, и поскольку я использую Oh-My-Zsh , было немного сложнее отследить, если у меня есть повторяющиеся вызовы в RVM.

Я исправил это, переместив вызов в RVM из отдельного файла rvm.zsh, расположенного в моей папке \ custom внутри \ oh-my-zsh, в самый конец моего основного файла .zshrc.

Похоже, что RVM действительно чувствителен к тому, что его вызывают не в конце последовательности инициализации zsh.

5 голосов
/ 28 марта 2012

Вместо:

rvm use 1.9.2 --default 

Я использовал полную версию:

rvm use ruby-1.9.2-p290 --default 

Это сработало для меня в zsh.

4 голосов
/ 13 апреля 2016

проверка работоспособности - убедитесь, что проект, над которым вы работаете, имеет ту же версию ruby, которую вы пытаетесь установить по умолчанию в файле .ruby-version.

это случилось со мной, и я не мог понять, почему rvm не использует мое значение по умолчанию

2 голосов
/ 08 мая 2012

У меня была такая же проблема в Mac OS X 10.7.

И позже я обнаружил, что моя учетная запись не была добавлена ​​в группу "rvm".

После того, как я добавлю себя в группу rvm,Я могу установить --default of rvm.

1 голос
/ 07 января 2013

Моя проблема была решена путем изменения:

PATH=/usr/local/bin на PATH=$PATH:/usr/local/bin в моей .zshrc

source @github RVM очереди выдачи

Очевидно, что вы должны убедиться, что RVM правильно установлен в первую очередь, и запустить проверку type rvm | head -1, предложенную @choise.rvm use --default 1.9.3-p362 теперь работает правильно.

...