Как изменить версию Ruby с помощью RVM? - PullRequest
110 голосов
/ 29 декабря 2011

Я не могу переключить текущую версию Ruby:

➜  ~  rvm list

rvm rubies

   ruby-1.9.2-p290 [ x86_64 ]
   ruby-1.9.3-p0 [ x86_64 ]

➜  ~  rvm use ruby-1.9.3-p0

RVM is not a function, selecting rubies with 'rvm use ...' will not work.

Ответы [ 13 ]

121 голосов
/ 29 декабря 2011

Исправлено. Мне нужно было добавить:

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

до .zshrc

57 голосов
/ 01 февраля 2012

Это случилось со мной тоже.У меня было:

export PATH=~/.rvm/bin:$PATH

Добавлено в мой .bashrc.

Все, что мне нужно было сделать, это добавить еще один

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

в тот же файл, и это сработало!Конечно, после этого вам необходимо перезапустить свой терминал.

11 голосов
/ 29 декабря 2011

Ваша оболочка не знает о функции RVM. После того, как вы установите его, он скажет вам, как позаботиться об этом. Или перейдите на страницу install на сайте RVM и ознакомьтесь с разделом, озаглавленным «2. Загрузите RVM в сеансы оболочки как функцию»

Запустите это один раз, чтобы добавить строку, загружающую rvm, в ваш ~ / .bash_profile:

$ echo '[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" # Load RVM function' >> ~/.bash_profile

или добавьте его вручную. (Обратите внимание, что в некоторых системах вы захотите поместить его в другие места, например в моей системе Mac OSX Lion, я поместил его в ~ / .profile)

9 голосов
/ 03 марта 2012

(Kubuntu 11.10) ~/.bash_profile теперь называется ~/.profile

echo '[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" # Load RVM function' >> ~/.profile
source ~/.profile
rvm info # And now the fields display
6 голосов
/ 23 июля 2012

Чтобы изменить версию ruby ​​по умолчанию:

В Ubuntu 11.10
пожалуйста, измените настройки терминала GNOME:

Перейдите на Терминал и следуйте следующим инструкциям:

1.  Edit > Profile Preferences
2.  Open Title and Command Tab               
3.  Check Run Command as a login Shell 
4.  Restart terminal

Выполнить эту команду на терминале:

rvm --default use ruby_Version
5 голосов
/ 19 января 2012

Чтобы добавить все функциональные возможности RVM в ваш файл .bash_profile, вы должны использовать следующую команду:

echo '[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" # Load RVM function' >> ~/.bash_profile

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

source .bash_profile
4 голосов
/ 22 мая 2013

Приведенное выше решение будет работать, только если RVM установлен для текущего пользователя.Более общее решение будет использовать переменную пути RVM:

# The following code loads RVM as user or system install:
[[ -s "$rvm_path/scripts/rvm" ]] && . "$rvm_path/scripts/rvm"
3 голосов
/ 01 июля 2012

При чистой установке Ubuntu 12.04 я столкнулся с той же проблемой. Установщик RVM создает или добавляет в файл ~ / .bash_login необходимый фрагмент кода, чтобы избежать исходной проблемы:

[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # Load RVM into a shell session *as a function*

Однако, похоже, это не вызывается. Добавление его в ~ / .bashrc решило проблему для меня.

3 голосов
/ 20 апреля 2012

Мне просто нужно было вызвать источник ~/.bash_profile

1 голос
/ 28 августа 2014

В моем случае в Ubuntu запись в ~ / .bashrc имела:

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

вместо:

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

Обратите внимание на пропущенный пробел между ними.и "$ HOME.

Кроме того, если это проблема, вы также должны заметить ошибку при запуске вашего терминала.

...