RVM не является функцией, выбор рубинов с использованием "rvm use..." не будет работать

Список рубиновых версий

console:~$ rvm list

rvm rubies

ruby-2.0.0-p481 [ i686 ]

# => - current
# =* - current && default
#  * - default

Попробуйте использовать определенную версию ruby ​​

console:~$ rvm use 2.0.0

RVM is not a function, selecting rubies with 'rvm use ...' will not work.

You need to change your terminal emulator preferences to allow login shell.
Sometimes it is required to use `/bin/bash --login` as the command.
Please visit https://rvm.io/integration/gnome-terminal/ for a example.

Ответ 1

Консоль не работает как оболочка входа и, следовательно, не имеет доступа к функции rvm. Если вы используете Ubuntu, вы можете:

  • Открыть консоль
  • Выберите "Редактировать" → "Настройки профиля"
  • Выберите вкладку: Название и команда
  • Флажок "Выполнить команду в качестве оболочки входа"
  • Перезапустить терминал

Ответ 2

Введите bash --login из вашего терминала. А затем дайте rvm use 2.0.0

Ответ 3

Мой env - OSX Yosemite. Если бы одна и та же проблема была решена путем добавления следующих

1) отредактируйте и добавьте [[-s "$ HOME/.rvm/scripts/rvm" ]] && & && &, "$ HOME/.rvm/scripts/rvm" в файл .bash_profile

2) Перезагрузите терминал и повторите команду RVM

Ответ 4

Кажется, что ваш rvm не загружает ".bash_profile" правильно. Я сделал, чтобы исправить это в MAC OS X или Ubuntu 14.04, открыв терминал и записав:

source ~/.rvm/scripts/rvm

Ответ 5

Если вы не хотите, чтобы каждый раз, когда вы открываете терминал, сделайте предложение выше, просто добавьте

source ~/.rvm/scripts/rvm

в конце ~/.bashrc

Ответ 6

Тот же принцип, что и другие ответы, просто подумал, что это быстрее, чем повторное открытие терминалов:)

bash -l -c "rvm use 2.0.0"

Ответ 7

Ошибка связана с тем, что rvm не работает, как в оболочке входа. Поэтому попробуйте выполнить команду ниже:

/bin/bash --login

Вы можете запускать команды rvm мгновенно в качестве оболочки входа в терминал.

Спасибо!

Ответ 8

Вам нужно разрешить запуск rvm как функции, для этого вы можете запустить:

export PATH="$PATH:$HOME/.rvm/bin"

Вы можете поместить это в любой из ваших dotfiles, rvm автоматически добавляет его в ваш .profile(когда файлы автодота включены), поэтому работает ответ @BroiSatse.

Однако, если вы добавите эту строку в свой .bashrc(или .zshrc или ее эквивалент), тогда это также сработает (хотя вы не используете вашу оболочку в качестве оболочки входа, могут иметь нежелательные последствия).

Ответ 9

Из новой установки Ubuntu 16.04

1) Terminal = > Edit = > Настройки профиля

2) Командная вкладка = > Проверить команду "Запуск" в качестве оболочки входа

3) Закройте и снова запустите терминал

rvm --default use 2.2.4

Ответ 10

FWIW. Я просто столкнулся с этим, это было в контексте отмены селена. Возможно, была создана суб-оболочка и оставлена ​​на месте. Закрытие этого окна терминала и открытие нового - все, что мне нужно было сделать. (macOS Sierra)

Ответ 11

Вам нужно добавить source ~/.rvm/scripts/rvm в ~/.your_shellrc file. Теперь, когда вы загружаете оболочку, загружается rvm.

Например:

Если вы используете оболочку zsh, вам нужно добавить в ~/.zshrc файл

Если вы используете оболочку bash, вам нужно добавить файл ~/.bashrc

И затем откройте новую вкладку, чтобы увидеть эффект.