Начну с того, что я не эксперт в командной строке, поэтому я просто не знаю, что я делаю.
Я не могу заставить RVM и oh-my-zsh играть вместе. Я пробовал несколько различных решений, размещенных вокруг, некоторые из них, но ничего, что я нашел, кажется, исправляет проблему.
Изначально кто-то настраивал RVM на моем компьютере. Я позже установил oh-my-zsh и помню, что у меня много неприятностей.
Мой .zhsrc
файл полностью по умолчанию, за исключением этих двух строк
export PATH=$HOME/bin:/usr/local/bin:/usr/local/rvm/bin:$PATH
#pretty sure this line does nothing, although I've seen this fix around
# several places. I noticed that I don't seem to have an .rvm file in my
# home directory which would be an issue, but I have no idea how to
# go about correcting this.
[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm"
Я добавил директиву /usr/local/rvm
в директиву Path, так как zsh возвращает zsh: rvm command not found
без нее. В противном случае выполняется большая команда rvm, за исключением rvm use
, которая выдает следующую ошибку:
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.
Я предусмотрел, что настройки профиля в моем профиле в iTerm2 установлены на "Login Shell", как рекомендовано RVM
Я попытался изменить эти настройки на параметр "Command" и использовать рекомендуемую /bin/bash/ --login
как команду, однако zsh больше не работает, когда это происходит. Изменение команды на /bin/zsh/ --login
позволяет zsh работать снова, но не решает проблему, поскольку я все еще получаю ошибку "RVM is not a function" при попытке запустить rvm use
Рубль по умолчанию в RVM установлен в 2.0.0. Я могу запустить ruby -v
в своей домашней папке и получить выход версии ruby, который показывает версию по умолчанию.
Работая над проектами rails, я могу запускать все команды rails, если Gemfile указывает ruby 2.0.0 по умолчанию. Однако в проекте, который использует другую версию, я получаю следующую ошибку:
Your Ruby version is 2.0.0, but your Gemfile specified 1.9.3
Тогда я не могу запустить rvm use 1.9.3
, поскольку он возвращает вышеупомянутую ошибку.
Как я могу заставить zsh играть хорошо с RVM?
Некоторая информация о моей настройке:
- Mac OSX 10.9.1 (Mavericks)
- iTerm2
- Zsh 5.0.2 с oh-my-zsh
- RVM 1.5.1