Я не могу переключить текущую версию 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.
Я не могу переключить текущую версию 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.
Исправлено. Мне нужно было добавить:
[[ -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. После его установки он расскажет вам, как позаботиться об этом. Или перейдите на страницу 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)
(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 в ваш .bash_profile, вы должны использовать следующую команду:
echo '[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" # Load RVM function' >> ~/.bash_profile
После этого вы должны перезагрузить текущую оболочку или открыть новый сеанс терминала и ввести следующую команду для перезагрузки .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. Однако для script требуется установить BASH_VERSION или ZSH_VERSION. Я бежал от crontab, который использует "sh".
Я создал оболочку script, которая использует /bin/ bash для источника/etc/profile.d/rvm.sh.
Вам нужно изменить настройки эмулятора терминала, чтобы разрешить вход в систему оболочка. Иногда требуется использовать
/bin/bash --login
как команда.