установка 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, и не ответы здесь исправили ее. Зайдя на официальный сайт РВМ, в разделе Основы, у них есть такая команда:
источник $(rvm 1.9.3 do rvm env --path)
вы должны изменить 1.9.3 для версии ruby, которую вы действительно хотите, и это сделает rvm функцией независимо от типа оболочки.
может быть, вы можете попробовать belows:
- Терминал ->
- изменить ->
- Параметры Профиля ->
- заголовок и команда ->
- Регистрация "выполнить команду как оболочку входа"
- сделал
несмотря на то, что вы приняли ответ, я хотел бы предложить другой способ .. ~/.bashrc загружается до открытия любой оболочки. Добавьте эту строку в конце этого, и вам не нужно ничего из этой оболочки входа в систему
откройте терминал, а затем перейдите в Изменить > Настройки Профиля а затем перейдите на вкладку"заголовок и команда" и чек "выполнить команду как 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
- вы уже установили последний XCode (>=4.3) и и цель командной строки-C компилятор "лязг".
- для работы этой процедуры необходимо запустить оболочку "bash".
- перейдите в Системные настройки
- нажмите "пользователи и группы"
- нажмите замок в левом нижнем углу панели и введите пароль для разблокировки он.
- "Ctrl-Click "на значке пользователя в левой панели панели и выберите" Дополнительные параметры..."
- измените оболочку входа в систему на "/ bin / bash"
- закрыть настройки
- откройте окно терминала (нажмите command+Пробел и введите "терминал")
- следуйте инструкциям at:
Примечания:
-
чтобы установить ruby, вам может потребоваться указать компилятор clang:
$ rvm установить 1.9.3p125 --with-gcc=clang
-
Если RVM жалуется о /usr / local/rvm не найден, вам нужно создать ссылку:
$ ln-s /Users/[ваше имя пользователя]/.rvm / usr / local / rvm
"официальные" инструкции есть: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*