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


Я не могу переключить текущую версию 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 109

13 ответов:

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

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

до .zshrc

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

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

добавил в моих .bashrc следующее.

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

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

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

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

запустите это один раз, чтобы добавить строку, которая загружает rvm в ваш ~/.файл:

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

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

(Kubuntu 11.10) The ~/.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

чтобы изменить версию 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

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

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

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

source .bash_profile

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

# The following code loads RVM as user or system install:
[[ -s "$rvm_path/scripts/rvm" ]] && . "$rvm_path/scripts/rvm"

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

на чистой установке 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 решил этот вопрос для меня.

установка RVM, смотрите здесь http://octopress.org/docs/setup/rvm/

в моем случае на Ubuntu, запись в ~/.bashrc и было:

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

вместо:

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

обратите внимание на недостающее пространство между ними . и "$HOME.

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

У меня была глобальная установка RVM, которая работает /etc/profile.d/rvm.sh. однако этот сценарий требует, чтобы BASH_VERSION или ZSH_VERSION были установлены. Я бежал от crontab, который использует "sh".

Я создал скрипт-оболочку, который использует/bin /bash для источника / etc/profile.d/rvm.sh.

вам нужно изменить настройки эмулятора терминала, чтобы разрешить войти ракушка. Иногда требуется использовать /bin/bash --login Как команда.