установка rvm не работает: "RVM не является функцией"

Я только что установил RVM, но не могу заставить его работать. У меня есть такая строка в конце моего :

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

Я пытался бежать source .profile и перезапуск терминала, но все же, когда я запускаю rvm use 1.9.2 Я:

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

моя система Ubuntu 11.10.

20 ответов


вы не используете оболочку.

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

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

иногда требуется установить команду /bin/bash --login.


на пульт ДУ соединения важно понимать разницу между запуском interactive ssh сеанс и выполнение отдельных команд.

во время работы ssh server а затем, работая с сервером в интерактивном режиме, вы по умолчанию используете login shell, и все в порядке, но для ssh server "command" вы не используете login shell, и вам потребуется запустить его с помощью ssh server 'bash -lc "command"'.

любой удаленный вызов может иметь то же самое проблема в выполнении одной команды с ssh.


вам нужно выполнить следующие

$ source ~/.rvm/scripts/rvm
запустить
$ type rvm | head -n 1

и если

rvm is a function

проблема решена.

Вам также нужно запустить user$ rvm requirements посмотреть требования к зависимостям для вашей операционной системы

источник:https://rvm.io/rvm/install/

Я забыл упомянуть, что вам нужно поместить этот код в вас ~/.bashrc или ~/.zshrc файл, и вам не нужно будет писать этот код снова. Ура!


чтобы окончательно решить эту проблему, просто вырежьте / вставьте следующую строку:

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

от:

в:

причина этого заключается в том, что .bashrc выполняется каждый раз, когда вы входите в терминал, и .bash_profile каждый раз при входе в систему. Вот почему решение /bin/bash --login работает, но вы должны делать это каждый раз, когда вы входите в терминал. Таким образом, вы настроены до следующего формата, и вы забудете все это к тому времени:)


Я тоже столкнулся с этой проблемой. Наконец я выполнил эту строку на терминале.

source ~/.rvm/scripts/rvm

проблема устранена. Потому что эта строка сделает экземпляр RVM функцией для определенного времени.


последний RVM (rvm 1.11.6 (стабильный)) перестал работать на Ubuntu (10.10 - 64 бит - ботан комар или что - то еще) - я продолжал получать

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

раньше я получил сообщение, но ' rvm 1.9.3-p0@rails321-сработает. Теперь это не сработает - вы вообще не сможете изменить драгоценные камни.

ничего не работало, пока я не нашел это-сделайте это последней строкой в /home/your-name/.bashrc

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


Как вы сказали, показанная ошибка может быть следующей.

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.

как сказано выше, просто введите' / bin / bash --login ' в вашем терминале (после перезагрузки терминала) введите comand 'rvm use 1.9.3' (например), и он начнет использовать ту же версию.

просто выполните команду "ruby-v", чтобы подтвердить, что RVM использует обновленную версию Ruby.


У меня тоже была эта проблема на новой установке rvm, и не ответы здесь исправили ее. Зайдя на официальный сайт РВМ, в разделе Основы, у них есть такая команда:

# от http://rvm.io/rvm/basics

источник $(rvm 1.9.3 do rvm env --path)

вы должны изменить 1.9.3 для версии ruby, которую вы действительно хотите, и это сделает rvm функцией независимо от типа оболочки.


может быть, вы можете попробовать belows:

  • Терминал ->
  • изменить ->
  • Параметры Профиля ->
  • заголовок и команда ->
  • Регистрация "выполнить команду как оболочку входа"
  • сделал

несмотря на то, что вы приняли ответ, я хотел бы предложить другой способ .. ~/.bashrc загружается до открытия любой оболочки. Добавьте эту строку в конце этого, и вам не нужно ничего из этой оболочки входа в систему


Run bash --login и затем запустить rvm use 2.0.0.


откройте терминал, а затем перейдите в Изменить > Настройки Профиля а затем перейдите на вкладку"заголовок и команда" и чек "выполнить команду как Login Shell".

загрузите Bash, и теперь вы можете установить драгоценные камни непосредственно с терминала без использования sudo и ошибки"RVM не является функцией, выбирая рубины с использованием ' rvm ...- не сработает." будут исключены.

Ура.


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

  • обновить ZSH. (По какой-то причине пытался обновить напрямую, не работает. Поэтому удалил и переустановил обновленную версию из здесь)
  • установить оболочку по умолчанию как ЗШ (т. е. если вы предпочитаете zsh), используя sudo chsh -s $(which zsh) $USER
  • убедитесь, что следующий код в нижней части .zshrc после установки последний RVM, вероятно, используя CURL от официальный сайт РВМ

    [[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm"
    source ~/.profile
    
  • САМЫЙ ВАЖНЫЙ МОМЕНТ: убедитесь, что в вашей .zshrc файл каждый экспорт в PATH добавляется :$PATH. Который, я считаю, был корнем моих проблем даже после выполнения вышеуказанных шагов.

  • после этого все мои проблемы RVM не является функцией ушел. Если он все еще не работает, дайте некоторую трассировку ошибки здесь. После нескольких часов борьбы за решение этой проблемы я уверен, что видел все связанные ошибки.

надеюсь, что это помогает. Ура!


процедура установки Ruby 1.9.3-p125 на Mac OSX 10.8 Mountain Lion

  1. вы уже установили последний XCode (>=4.3) и и цель командной строки-C компилятор "лязг".
  2. для работы этой процедуры необходимо запустить оболочку "bash".
  3. перейдите в Системные настройки
  4. нажмите "пользователи и группы"
  5. нажмите замок в левом нижнем углу панели и введите пароль для разблокировки он.
  6. "Ctrl-Click "на значке пользователя в левой панели панели и выберите" Дополнительные параметры..."
  7. измените оболочку входа в систему на "/ bin / bash"
  8. закрыть настройки
  9. откройте окно терминала (нажмите command+Пробел и введите "терминал")
  10. следуйте инструкциям at:

http://www.frederico-araujo.com/2011/07/30/installing-rails-on-os-x-lion-with-homebrew-rvm-and-mysql/

Примечания:

  • чтобы установить ruby, вам может потребоваться указать компилятор clang:

    $ rvm установить 1.9.3p125 --with-gcc=clang

  • Если RVM жалуется о /usr / local/rvm не найден, вам нужно создать ссылку:

    $ ln-s /Users/[ваше имя пользователя]/.rvm / usr / local / rvm


source ~/.bash_profile

... должно сработать ... наверное , нужно выйти и снова войти.

Как перезагрузить .bash_profile из командной строки?


"официальные" инструкции есть:https://rvm.io/integration/gnome-terminal/


Я получил ту же ошибку, потому что я когда-либо устанавливал старую версию RVM ruby-rvm с командой apt-get.

Я решил проблему, удалив строку скрипта для настройки старого rvm .файл bashrc.

Проверьте старый сценарий конфигурации rvm, а затем запустите source .профиль


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

PATH=$PATH:/usr/local/rvm/bin/

и вуаля!


У меня была такая же проблема и я сделал это в моей .bash_profile и это сработало. source "$HOME/.rvm/scripts/rvm".


для тех, кто приходит с той же проблемой, и они используют lubuntu, как я, я следовал этому ссылке :

вы начинаете свой терминал с

lxterminal-e "bash-il"

спасибо @mpapsis, который указал мне в правильном направлении


я исправил это, добавив эту строку .файл:

[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # Load RVM into a shell session *as a function*