RVM在ZSH中不起作用

时间:2011-01-21 04:58:33

标签: ruby macos rvm zsh

我想在我的Mac上试用ZSH shell,但我也做了很多Ruby和Rails开发,所以我也使用了RVM。问题是我似乎无法让RVM在ZSH中工作,并且它在默认的Bash shell中工作正常:

> zsh
> rvm 1.9.2
> ruby -v
ruby 1.8.7 (2009-06-12 patchlevel 174) [universal-darwin10.0]
> which ruby
/usr/bin/ruby

我可以肯定地确认已安装RVM,以及RVM下的ruby 1.9.2;我一直在Bash中使用它。在ZSH中运行rvm list显示了这一点,有趣的是:

rvm rubies

   ruby-1.8.7-p302 [ x86_64 ]
=> ruby-1.9.2-p0 [ x86_64 ]

我的iMac和MacBook Pro都发生了这种情况。我在两者上使用OS X 10.6.6,在iMac上使用ZSH 4.3.9(笔记本电脑上的4.3.10)。没什么好像哦-my-zsh。

我尝试查看RVM website上的文档,但没有任何帮助。

5 个答案:

答案 0 :(得分:247)

你的〜/ .zshrc

中有这一行吗?
[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" 

答案 1 :(得分:21)

注意2014年3月:

使用最新的RVM,以下行:

[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" 
不再需要

,它不应该在您的~/.zshrc

文档已在RVM documentation with Zsh中更新:

  

确保在iTerm2首选项中设置:登录shell 选项(不要使用命令选项)。这是RVM工作所必需的。

     

如果你仍然在获取rvm不是iTerm上的功能错误,请尝试:

rvm get stable --auto-dotfiles

答案 2 :(得分:5)

请注意2014年11月

rvm安装说明警告.zshrc在设置PATH时不包含$ PATH,因此替换PATH的内容而不考虑PATH中已存在的内容。

为了解决这个问题,我现在追加 PATH,在设置.rvm/bin时开始$PATH然后 prepend PATH第二行:

export PATH="$PATH:$HOME/.rvm/bin" # Add RVM to PATH for scripting

export PATH=$PATH:"/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/git/bin:/usr/local/mysql/bin:/opt/local/bin"

答案 3 :(得分:1)

我遇到了同样的问题,我在“ruby on rails”安装后解决了这个问题:

echo 'if which rbenv > /dev/null; then eval "$(rbenv init -)"; fi' >> ~/.zshrc

source ~/.zshrc

答案 4 :(得分:0)

我使用zsh,并且[[-s“$ HOME / .rvm / scripts / rvm”]]&& 。我的.zshrc文件中有“$ HOME / .rvm / scripts / rvm”,但是收到了解析错误:404。

当我将该行移动到.profile文件时,错误停止了。它似乎与我的.zshrc文件中的某些内容相冲突,并且可能在.profile中运行它避免了.zshrc文件不兼容。我无法