RVM не переключает рубины - PullRequest
20 голосов
/ 18 июля 2010

Я использую Ruby 1.9.1p243 на CentOS, и я решил установить rvm для поддержки обновления до 1.9.2 или понижения до 1.8.7 (что будет лучше для rails3).

Я следовал инструкциям здесь: http://rvm.beginrescueend.com/rvm/install/ и все установлено правильно. Мне удалось скомпилировать и установить Ruby 1.8.7, 1.9.1 и 1.9.2.

Однако, если я попытаюсь фактически переключиться на один из установленных Ruby rvm, с использованием rvm 1.8.7, например, ничего не будет работать. Моя система все еще использует Ruby, который я установил в /usr/local/bin/ruby.

Пример вывода, который я получаю:

$ rvm use 1.8.7
$ ruby -v
ruby 1.9.1p243 (2009-07-16 revision 24175) [i686-linux]
$ which ruby
/usr/local/bin/ruby
$ rvm use 1.9.2
$ ruby -v
ruby 1.9.1p243 (2009-07-16 revision 24175) [i686-linux]
$ which ruby
/usr/local/bin/ruby

Я понятия не имею, почему это происходит, и я тоже не могу найти в Интернете ничего об этой проблеме. Любая помощь будет оценена.

Ответы [ 5 ]

25 голосов
/ 20 марта 2011

Просто наткнулся на ту же проблему.

Вместо добавления следующего сценария в ~ / .bash_profile добавьте его в ~ / .bashrc :

[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" # This loads RVM into a shell session.

А затем перезапустите терминал.

17 голосов
/ 19 июля 2010

Обычно поддержка rvm проще всего через IRC (#rvm на freenode) - что в данном конкретном случае показывает, что работает "type rvm | head -n1"?он должен показать "rvm - это функция".Если нет, это означает, что линия к исходному rvm не работает правильно и, следовательно, переключение не работает.Обычно это означает, что вы либо получили возврат в ~ / .bashrc, либо пропустили добавление строки в исходный rvm.

12 голосов
/ 11 сентября 2010

Ваша установка в качестве учетной записи root.Попробуйте это в оболочке [[-s "/ usr / local / rvm / scripts / rvm"]] &&.«/ usr / local / rvm / scripts / rvm»

перед операцией переключения rvm.Я добавил эту строку в мой файл профиля, и теперь все в порядке.

0 голосов
/ 18 мая 2016

Я боролся с установкой rvm ruby ​​по умолчанию безрезультатно, пока не попробовал:

sudo bash -l -c 'rvm alias create default ruby-1.9.3-p392'

" sudo " для записи в /usr / local / rvm / config / alias (в моем примере это будет содержать "default = ruby-1.9.3-p392")
" bash -l ", чтобы убедиться в этомзапускает все сценарии (/ etc / profile, /etc/bash.bashrc и т. д.) оболочки входа в систему

0 голосов
/ 23 марта 2011

Может быть проблема терминала и вы должны попытаться закрыть окно вашего терминала и открыть новый. :) Попробуйте еще раз, чтобы увидеть, изменилось ли оно ...

...