Подтвердить что ты не робот

Проблемы с Zsh и RVM (rvm-prompt не разрешает)

Недавно я увидел свет и перешел на Zsh. Я, естественно, использовал Oh My Zsh, чтобы настроить его, поскольку я noobish. Итак, есть несколько тем, в которые включен rvm-prompt, и вот мои проблемы начались. Каждый раз, когда я загружаю Zsh, я должен rvm reload или еще rvm-prompt не разрешен (zsh: command not found: rvm-prompt). Обратите внимание, что после перезагрузки он восстанавливается. Кроме того, и в строке, когда я перехожу в каталог, у которого есть свой собственный .rvmrc (другой gemset), а затем я выхожу из него, возникает та же проблема; Мне осталось снова перезагрузить Zsh. У меня есть RVM в $PATH. У меня

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

в моем .zshrc

Я использую плагин RVM. Кто-нибудь знает что? Не совсем шоу-стоппер, просто раздражает.

4b9b3361

Ответ 1

У меня была такая же проблема, пока я не поместил [[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" в файл .zshenv вместо файла .zshrc.

Ответ 2

Сделайте псевдоним для rvm-prompt. Это самый верный ответ. Расположите вещи в своем .zshrc файле в следующем порядке:

  • alias rvm-prompt=$HOME/.rvm/bin/rvm-prompt
  • source $ZSH/oh-my-zsh.sh
  • [[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm"

Если oh-my-zsh (OMZ) загружается до RVM, which rvm-prompt терпит неудачу, поэтому вы не увидите RVM в своем приглашении (если поддерживается вашей темой), даже если он находится на вашем пути позже, после RVM грузы.

Если RVM загружается до OMZ, вы можете получить zsh: command not found: rvm-prompt.

Слияние вашего rvm-запроса с его фактическим местоположением, похоже, решает проблему, независимо от того, в какой заказ загружены RVM и OMZ. Я бы по-прежнему рекомендовал RVM внизу.

Вставка нагрузки RVM в .zshenv, как было предложено выше, будет загружать RVM дважды в iTerm 2 (и нет, она еще не была в моем .zshrc) и приведет к отображению "системы", даже если rvm-prompt и rvm current показали конкретную рубиновую версию и gemset.

Ответ 3

Не уверен, что это решит ваши проблемы, но все равно стоит попробовать.

После недавнего обновления rvm у меня были аналогичные проблемы с oh-my-zsh. Затем я удалил как rvm, так и oh-my-zsh (сначала установите oh-my-zsh, так как он скопирует пучки или rvm-пути в ваш ~/.zshrc, если вы сначала установите rvm).

Все поработало немного лучше, кроме rvm-prompt не будет работать с новым окном терминала. Я закончил придерживаться следующего в конце моего ~/.zshrc, и теперь все работает нормально:

rvm use default

Я думаю, что есть какая-то проблема с курицей и яйцом с порядком загрузки rvm и oh-my-zsh с последними версиями rvm. Не уверен, что виноват, но я надеюсь, что он будет разрешен одним или обоими из них!

Ответ 4

Эта проблема фактически адресована в rvm zsh-FAQ.

http://beginrescueend.com/integration/zsh/

добавление   __rvm_project_rvmrc к вашему .zshrc решает проблему.

Я добавляю это в качестве ответа, потому что я только что нашел это, когда искал проблему, и вышеупомянутое решение просто устанавливает рубиновую версию в rvm по умолчанию и не работает с gemsets.

Ответ 5

Самый простой способ избавиться от него - установить RVM (Ruby Virtual Manager). Тогда вы бы действительно оценили эту тему.

curl -sSL https://get.rvm.io | bash

После этого проблема решает.