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