Zsh& RVM问题(rvm-prompt无法解决)

时间:2011-07-09 16:39:08

标签: rvm zsh zshrc

我最近看到了灯光,转而转向Zsh。我自然地使用Oh My Zsh来配置它,因为我是noobish。因此,有几个主题包含rvm-prompt,这是我的问题开始。我每次加载Zsh时都必须rvm reloadrvm-prompt未解析(zsh: command not found: rvm-prompt)。请注意,重新加载后它会解析。另外,顺便说一句,当我进入一个拥有自己的.rvmrc(其他gemset)的目录然后我走出它时,会出现同样的问题;我不得不重新加载Zsh。 我在$PATH集中设置了RVM。我有

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

.zshrc

我正在使用RVM插件。有人知道什么了吗?不是真正的节目制服者,只是讨厌。

6 个答案:

答案 0 :(得分:21)

为rvm-prompt创建一个别名。这是最肯定的答案。按此顺序排列.zshrc文件中的内容:

  1. alias rvm-prompt=$HOME/.rvm/bin/rvm-prompt
  2. source $ZSH/oh-my-zsh.sh
  3. [[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm"
  4. 如果在RVM之前加载了oh-my-zsh(OMZ),which rvm-prompt将无提示失败,因此即使它在您的路径中,您也不会在提示中看到RVM(如果您的主题支持), RVM加载后。

    如果RVM在OMZ之前加载,您可能会得到zsh: command not found: rvm-prompt

    将rvm-prompt混淆到其实际位置似乎可以解决问题,无论RVM和OMZ的加载顺序如何。我仍然建议在底部使用RVM。

    如上所述将RVM加载到.zshenv会在iTerm 2中加载RVM两次(不,它不在我的.zshrc中)并且会导致提示显示“系统”甚至虽然rvm-promptrvm current显示了特定的ruby版本和gemset。

答案 1 :(得分:19)

在将[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm"放入.zshenv文件而不是.zshrc文件之前,我遇到了同样的问题。

答案 2 :(得分:4)

不确定这会解决您的问题,但无论如何都值得一试。

最近更新了rvm后,我遇到了与oh-my-zsh类似的问题。我卸载了rvm和oh-my-zsh然后重新安装(首先安装oh-my-zsh,因为如果先安装rvm,它会将一堆或rvm路径复制到你的~/.zshrc中)。

事情好一点,但rvm-prompt无法正常使用新的终端窗口。我在~/.zshrc结束时坚持使用以下内容,现在情况正常:

rvm use default

我认为rvm和oh-my-zsh的加载顺序与最近版本的rvm有一些鸡蛋问题。不确定哪个是责任,但我希望它们中的一个或两个都能解决它!

答案 3 :(得分:2)

摆脱它的最简单方法是安装RVM(Ruby Virtual Manager)。然后你会真正欣赏这个主题。

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

问题解决后......

答案 4 :(得分:1)

这个问题实际上是在rvm的zsh-FAQ中解决的。

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

添加     __rvm_project_rvmrc 你的.zshrc解决了这个问题。

我添加这个作为答案,因为我在搜索问题时发现了这个问题,上面的解决方案只是将ruby版本设置为rvm的默认值,并且不适用于gemsets。

答案 5 :(得分:-1)

将以下内容添加到

中的〜/ .zshrc中
alias rvm-prompt=$HOME/.rvm/bin/rvm-prompt

保存

source ~/.zshrc

参考:http://xufei.logdown.com/posts/2012/09/09/zsh-rake-rvm-prompt