【发布时间】:2014-03-31 22:49:17
【问题描述】:
首先我要说我不是命令行专家,所以我真的只知道自己在做什么。
我无法让 RVM 和 oh-my-zsh 一起玩得很好。我已经尝试了几种不同的解决方案,其中一些在 SO 上,但我发现似乎没有解决问题。
最初,其他人在我的机器上设置了 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"
我在 Path 指令中添加了 /usr/local/rvm,因为 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.
我已确保按照 RVM 的建议将 iTerm2 中我的个人资料上的个人资料首选项设置为“登录 Shell”
我已尝试将这些首选项更改为“命令”选项并使用推荐的 /bin/bash/ --login 作为命令,但是当这种情况发生时 zsh 似乎不再起作用。将命令更改为 /bin/zsh/ --login 允许 zsh 再次工作,但不能解决问题,因为我在尝试运行 rvm use 时仍然收到“RVM 不是函数”错误
RVM 中的默认 ruby 设置为 2.0.0。我可以在我的主文件夹中运行 ruby -v 并获取显示默认版本的 ruby 版本输出。
在 Rails 项目上工作,如果 Gemfile 指定 ruby 2.0.0(默认值),我可以运行所有 rails 命令。但是在使用不同版本的项目中,我收到以下错误:
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(小牛队)
- iTerm2
- 带有 oh-my-zsh 的 Zsh 5.0.2
- RVM 1.5.1
【问题讨论】:
标签: ruby shell rvm zsh oh-my-zsh