Почему "RVM -default" не работает для меня на MacOSX?
После использования Ruby и Rails в течение некоторого времени я хотел попробовать RVM. Все работает отлично, за исключением одного:
В только что открытом терминале ruby
указывает на рубин системы, несмотря на то, что я использовал команду rvm --default
.
[email protected] ~ $ ruby -v
ruby 1.8.7 (2010-08-16 patchlevel 302) [i686-darwin10]
[email protected] ~ $ which ruby
/opt/local/bin/ruby
[email protected] ~ $ rvm list
ruby-1.8.7-p334 [ ]
=> ruby-1.9.2-p180 [ ]
Все нормально после того, как я вызываю rvm reload
[email protected] ~ $ rvm reload
[email protected] ~ $ ruby -v
ruby 1.9.2p180 (2011-02-18 revision 30909) [x86_64-darwin10.7.1]
[email protected] ~ $ 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)
Update:
То, что --default
, похоже, не работает для меня...
[email protected] ~ $ rvm use 1.9.2 --default
Using /Users/user/.rvm/gems/ruby-1.9.2-p180
[email protected] ~ $ rvm default
[email protected] ~ $
Ответы
Ответ 1
У меня была одна и та же проблема. Оказалось, что rvm- script загрузился дважды, что немного сломало ситуацию.
Проверьте все файлы, которые загружаются при открытии оболочки, например. /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
, чтобы увидеть, происходит ли это или нет.
Ответ 2
Перемещение:
[[ -s "/usr/local/rvm/scripts/rvm" ]] && . "/usr/local/rvm/scripts/rvm"
в нижней части ~/.bash_profile решила проблему для меня.
Ответ 3
Возможное исправление для пользователей ZSH:
Как-то у меня было:
[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm"
в обоих .zprofile и .zshrc.
Удаление строки из .zprofile решило проблему. (Хотя вы должны уметь удалять из них, пока он появляется только один раз)
Ответ 4
Запустили ли вы команду Использование rvm --default 1.9.2?
Это сработало для меня на openSUSE, но я не знаю о снежном барсе.
Ответ 5
У меня была та же проблема.
Перемещение линии:
[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" # Load RVM function
после строки из MacPorts:
export PATH=/opt/local/bin:/opt/local/sbin:$PATH
решил проблему для меня.
Ответ 6
У меня была та же проблема, и поскольку я использовал Oh-My-Zsh, было немного сложнее отслеживать, есть ли у меня дубликаты вызовов RVM,
Я исправил это, переместив вызов в RVM из отдельного файла rvm.zsh, расположенного в моей \custom папке внутри \oh-my-zsh, до самого конца моего основного файла .zshrc.
Похоже, что RVM очень чувствителен к тому, чтобы его вызывали не в конце вашей инициализации zsh.
Ответ 7
Вместо:
rvm use 1.9.2 --default
Я использовал полную версию:
rvm use ruby-1.9.2-p290 --default
Это сработало для меня в zsh.
Ответ 8
У меня была такая же проблема в Mac OS X 10.7.
И позже я обнаружил, что моя учетная запись не добавлена в группу "rvm".
После того, как я добавлю себя в группу rvm, я могу установить --default of rvm.
Ответ 9
Проверка работоспособности - убедитесь, что проект, над которым вы работаете, имеет ту же рубиновую версию, которую вы пытаетесь установить по умолчанию в файле .ruby.
это случилось со мной, и я не мог понять, почему rvm
не использует мой default
Ответ 10
Моя проблема была решена путем изменения:
PATH=/usr/local/bin
до PATH=$PATH:/usr/local/bin
в моем .zshrc
источник @github очереди ошибок RVM
Очевидно, что вам нужно убедиться, что RVM установлен правильно, и запустите проверку type rvm | head -1
, предложенную @choise. rvm use --default 1.9.3-p362
теперь работает правильно.
Ответ 11
Вам нужно поставить путь к rvm перед вашим PATH
$ export PATH=/path/to/rvm-dir:$PATH
Ответ 12
что распечатывает type rvm | head -1
?
в моем bash_profile (на последнем osx) мне пришлось поставить
# Ruby Version Manager
[[ -s "/usr/local/rvm/scripts/rvm" ]] && . "/usr/local/rvm/scripts/rvm"
i также создал gemset и установил это как значение по умолчанию:
rvm reload
rvm install 1.9.2
rvm --create use [email protected]
rvm --default use [email protected]
Ответ 13
тот же pb здесь. линия была там дважды, и она сломала ее... по какой-то причине...
удаление посторонней линии было решено
Ответ 14
По какой-то причине у меня в моем каталоге $HOME/bin ruby, gem, rake,... stub. Пример ниже. Поэтому использование rvm -default 1.9.3 не срабатывало должным образом. Удаление директории $HOME/bin решило проблему.
cat bin/ruby
#!/usr/bin/env bash
if [[ -s "/usr/local/rvm/environments/ruby-1.9.2-p290" ]]
then
source "/usr/local/rvm/environments/ruby-1.9.2-p290"
exec ruby "[email protected]"
else
echo "ERROR: Missing RVM environment file: '/usr/local/rvm/environments/ruby-1.9.2-p290'" >&2
exit 1
fi
Ответ 15
Попробуйте установить рубин по умолчанию для новой оболочки:
sudo rvm alias create default 1.9.2
Ответ 16
Для некоторых действительно новичков в Mac OS используйте JewelryBox и в разделе настроек вы найдете
"show default ruby in system menu bar"
проверка этого позволяет вам переключаться между рубинами.
Вы можете выбрать предварительно установленные рубигемы (если у вас есть рубигемы) с помощью опции "system @*".
Ответ 17
Я следил за приведенными выше предложениями - проверил мой bash_profile (это было хорошо), а также заметил, что в ubuntu вам может понадобиться руководство https://rvm.io/support/faq/#shell_login
Однако у меня все еще была эта проблема, пока я не понял, что проект, который я пытался запустить, имел файл .rvmrc, который указывал версию ruby, которую я не установил. Когда я исправил это, у меня не было проблемы (так что на самом деле это не было то, что умолчание по умолчанию не работало, но этот проект переопределял его)
Ответ 18
Мне пришлось удалить строку [[ -s "/usr/local/rvm/scripts/rvm" ]] && . "/usr/local/rvm/scripts/rvm"
из ~/.bash_profile и пришлось переместить ее в самую нижнюю часть ~/.bashrc.
Это устранило проблему в OS X 10.10.1.