我最近看到了灯光,转而转向Zsh。我自然地使用Oh My Zsh来配置它,因为我是noobish。因此,有几个主题包含rvm-prompt
,这是我的问题开始。我每次加载Zsh时都必须rvm reload
或rvm-prompt
未解析(zsh: command not found: rvm-prompt
)。请注意,重新加载后它会解析。另外,顺便说一句,当我进入一个拥有自己的.rvmrc
(其他gemset)的目录然后我走出它时,会出现同样的问题;我不得不重新加载Zsh。
我在$PATH
集中设置了RVM。我有
[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm"
在.zshrc
我正在使用RVM插件。有人知道什么了吗?不是真正的节目制服者,只是讨厌。
答案 0 :(得分:21)
为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"
如果在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-prompt
和rvm 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