RVM не работает в ZSH

Я хотел бы попробовать оболочку ZSH на своем Mac, но я также занимаюсь разработкой Ruby и Rails, поэтому я тоже немного использую RVM. Проблема в том, что я не могу заставить RVM работать в ZSH, и он отлично работает в оболочке по умолчанию Bash:

> zsh
> rvm 1.9.2
> ruby -v
ruby 1.8.7 (2009-06-12 patchlevel 174) [universal-darwin10.0]
> which ruby
/usr/bin/ruby

Я могу определенно подтвердить, что RVM установлен, а также рубин 1.9.2 под RVM; Я использую его все время в Bash. Запуск rvm list в ZSH показывает это, интересно:

rvm rubies

   ruby-1.8.7-p302 [ x86_64 ]
=> ruby-1.9.2-p0 [ x86_64 ]

Это происходит как на iMac, так и на MacBook Pro. Я использую OS X 10.6.6 для обоих, ZSH 4.3.9 на iMac (4.3.10 на ноутбуке). Пока ничего не похоже на oh-my-zsh.

Я пробовал посмотреть документацию на RVM веб-сайт, но ничего мне не помогло.

Ответ 1

У вас есть эта строка в ~/.zshrc?

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

Ответ 2

Примечание Март 2014:

С последним RVM следующая строка:

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

больше не нужен, и он не должен быть в вашем ~/.zshrc.

Документация была обновлена ​​в Документация по RVM с Zsh:

Удостоверьтесь в настройках iTerm2: параметр командной оболочки установлен (не используйте параметр Command). Это необходимо для работы RVM.

Если вы все еще получаете rvm, это не ошибка функции на iTerm, попробуйте:

rvm get stable --auto-dotfiles

Ответ 3

Примечание Ноябрь 2014

Инструкции по установке rvm предупреждают, что .zshrc не включает $PATH при настройке PATH, тем самым заменяя содержимое PATH без учета того, что уже существует в PATH.

Чтобы исправить это, теперь добавить PATH, чтобы иметь .rvm/bin, а затем добавить $PATH в начале настройки PATH во второй строке:

export PATH="$PATH:$HOME/.rvm/bin" # Add RVM to PATH for scripting

export PATH=$PATH:"/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/git/bin:/usr/local/mysql/bin:/opt/local/bin"

Ответ 4

Я использую zsh и имел [[-s "$ HOME/.rvm/scripts/rvm" ]] && & &, "$ HOME/.rvm/scripts/rvm" в моем .zshrc файле, но получал ошибку синтаксического анализа: 404.

Когда я переместил эту строку в файл .profile, ошибка остановилась. Кажется, что это противоречило чему-то в моем .zshrc файле и, возможно, запустило его в .profile, избегала несовместимости файла .zshrc. Я не смог

Ответ 5

У меня была та же проблема, я решил использовать это после установки "ruby on rails":

echo 'if which rbenv > /dev/null; then eval "$(rbenv init -)"; fi' >> ~/.zshrc

и

source ~/.zshrc