Подтвердить что ты не робот

Почему "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] ~ $
4b9b3361

Ответ 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.