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



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



[[ -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.

1038   20  

20 ответов:

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

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

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

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


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

во время работы ssh server и затем, работая с сервером в интерактивном режиме, вы используете оболочку входа по умолчанию, и все в порядке, но для 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"

от: ~/.bash_profile file

To:~/.bashrc file

причина, по которой это работает, заключается в том, что .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 ' в вашем терминале (после перезагрузки терминала), затем введите команду 'rvm use 1.9.3' (например), и он начнет использовать ту же версию.

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

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

# from http://rvm.io/rvm/basics

source $(rvm 1.9.3 do rvm env -- path)

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

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

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

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

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

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

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

Ура.

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

  • обновить ZSH. (Пытался обновить непосредственно din не работает по какой-то причине. Так что удалите и переустановите обновленную версию из здесь)
  • установить оболочку по умолчанию как 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. следуйте инструкциям в:

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

Примечания:

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

    $ rvm install 1.9. 3p125 --with-gcc=clang

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

    $ ln-s /Users/[ваше имя пользователя]/.РВМ / 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*

Comments

    Ничего не найдено.