Как изменить версию 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 ответов


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

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

to .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)~/.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 Как команда.