#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:
Ответ №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