Как установить версию Ruby по умолчанию с помощью RVM?

#ruby-on-rails #ruby #rvm #ruby-1.9.2

#ruby-on-rails #ruby #rvm #ruby-1.9.2

Вопрос:

Ubuntu 11.

Я делаю следующее:

$ rvm --default use 1.9.2 и я получаю:

Using /home/md/.rvm/gems/ruby-1.9.2-p180 так что это хорошо.

но когда я открываю новое окно терминала, я все равно получаю:

$ ruby -v

ruby 1.8.7 (2010-08-16 patchlevel 302) [i686-linux]

Комментарии:

1. Какая версия rvm? Я на Ubuntu 10, но я скептически отношусь к тому, что это могло бы что-то изменить. Что-нибудь в ~/.rvmrc?

2. Что произойдет, если вы запустите rvm list default в новом окне терминала?

3. Попробуйте запустить rvm --default 1.9.2 вместо этого. Это работает для меня.

4. Вы случайно поместили строку для загрузки rvm в свой bashrc , а не в свой bash_profile ?

5. jsdeseno да, у меня действительно было это в обоих. Я удалил .bashrc, но это не помогло. У меня все еще есть путь внизу, например PATH=/opt/homebrew/bin:/var/lib/gems/1.8/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/home/durrantm/.rvm/bin:/home/durrantm/.rvm/bin:/home/durrantm/Downloads/android/android-sdk-linux_x86/tools:/Downloads/android/android-sdk-linux_x86/platform-tools

Ответ №1:

Если вы поместите исходную строку RVM в свой bashrc (чтобы гарантировать, что неинтерактивные оболочки имеют доступ к RVM), вам потребуется source .bashrc из вашего .bash_profile со следующими последними строками в вашем .bash_profile

 if [ -f "$HOME/.bashrc" ]; then
  source $HOME/.bashrc
fi
  

Это предполагает, что у вас есть

 [[ -s "$HOME/.rvm/scripts/rvm" ]] amp;amp; source "$HOME/.rvm/scripts/rvm"
  

в вашем $HOME/.bashrc. Это хороший способ убедиться, что как интерактивные / логиновые, так и неинтерактивные оболочки могут правильно находить и загружать RVM. Многопользовательские установки выполняют то же самое с помощью /etc/profile.d/rvm.sh досье.

После этого у вас не должно возникнуть проблем с определением Ruby по умолчанию для использования через

 rvm 1.9.2 --default
  

или

 rvm use 1.9.2@mygemset --default
  

Лучше определить набор драгоценных камней по умолчанию для использования, чтобы не загрязнять ваши «стандартные» или «глобальные» наборы драгоценных камней.

Если вы используете неинтерактивные оболочки, имейте в виду, что они обычно работают в режиме совместимости с SH, который затем требует от вас установки

 BASH_ENV="$HOME/.bashrc"
  

в вашем $HOME/.profile, чтобы загрузить RVM, или установить это непосредственно в вашем скрипте. Причина этого в том, что когда bash работает в режиме SH, он напрямую не загружает .bash_profile или .bashrc, поскольку SH не использует эти файлы, и bash пытается имитировать процесс загрузки и выполнения оболочки SH.

Ответ №2:

создайте «список rvm», чтобы увидеть, какие версии Ruby вы установили.

затем сделайте это, если вы хотите изменить версию только за один сеанс терминала:

 rvm use 1.8.7
  

если вы хотите выбрать версию по умолчанию для этой учетной записи пользователя, сделайте это:

 rvm use --default 1.9.2
  

Смотрите:

 rvm use --help
  

Смотрите также этот RailsCast:

http://railscasts.com/episodes/200-rails-3-beta-and-rvm

http://beginrescueend.com/

Ответ №3:

Все равно поздно веселиться.

Вы правильно установили версию ruby по умолчанию: rvm --default use 1.9.2

Однако вам необходимо обновить свой Gemfile до целевого ruby, потому что RVM ссылается на этот файл, чтобы выбрать рабочую версию ruby при открытии терминала, поэтому он вернулся к предыдущей версии ruby.

Ответ №4:

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

В Ubuntu

Перейдите в терминал Ubuntu по умолчанию, а затем следуйте инструкциям:

 1) Edit -> Profile Preferences
2) Select "Title and Command"
3) check "Run command as a login shell"
4) restart terminal
  

И после этого запустите эту команду:

rvm — использование по умолчанию 2.2.4@gemset_name