RVM在ZSH中不起作用

swi*_*ams 91 ruby macos zsh rvm

我想在我的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
Run Code Online (Sandbox Code Playgroud)

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

rvm rubies

   ruby-1.8.7-p302 [ x86_64 ]
=> ruby-1.9.2-p0 [ x86_64 ]
Run Code Online (Sandbox Code Playgroud)

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

我试着查看RVM 网站上的文档,但没有任何帮助.

int*_*iot 258

你的〜/ .zshrc中有这一行吗?

[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" 
Run Code Online (Sandbox Code Playgroud)

  • 别客气.它发生在某个时间:)我做了一件有用的事情来保持我的旧设置:在我的〜/ .zshrc中"source~/.profile"和"source~/.bash_profile".它还使我的.zshrc更清洁. (6认同)
  • 另外,确保$ HOME/.rvm/bin的路径在/ usr/bin之前,否则你可能正在调用OS X附带的Ruby可执行文件.你可以在ZSH中输入'where ruby​​'来检查优先级. . (5认同)
  • 我发现当我使用oh-my-zsh来自定义zsh时,它从我现有的shell中添加了一堆到.zshrc的路径 - 这包括rvm在bash下添加的路径. (3认同)
  • 哈哈哈,完全忘记了这件简单的事情.现在我因为没有早点来到这里而感到懊恼.谢谢 :). (2认同)

rav*_*ode 22

注意2014年3月:

使用最新的RVM,以下行:

[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" 
Run Code Online (Sandbox Code Playgroud)

不再需要,它不应该在你的~/.zshrc.

使用ZshRVM文档中更新了文档:

确保在iTerm2首选项中设置了Login shell选项(不要使用Command选项).这是RVM工作所必需的.

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

rvm get stable --auto-dotfiles
Run Code Online (Sandbox Code Playgroud)


aar*_*ell 5

注意2014年11月

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

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

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"
Run Code Online (Sandbox Code Playgroud)