为什么"RVM - 默认"在MacOSX上对我不起作用?

Die*_*ngs 32 ruby macos rvm

在使用Ruby和Rails很长一段时间后,我想尝试RVM.一切正常,除了一件事:

在一个新开的终端ruby指向系统的红宝石,尽管事实上,我使用了rvm --default命令.

user@terra ~ $ ruby -v
ruby 1.8.7 (2010-08-16 patchlevel 302) [i686-darwin10]
user@terra ~ $ which ruby
/opt/local/bin/ruby
user@terra ~ $ rvm list
   ruby-1.8.7-p334 [ ]
=> ruby-1.9.2-p180 [ ]
Run Code Online (Sandbox Code Playgroud)

我打电话后一切都很好 rvm reload

user@terra ~ $ rvm reload
user@terra ~ $ ruby -v
ruby 1.9.2p180 (2011-02-18 revision 30909) [x86_64-darwin10.7.1]
tmangner@terra ~ $ which ruby
/Users/user/.rvm/rubies/ruby-1.9.2-p180/bin/ruby
Run Code Online (Sandbox Code Playgroud)

.bash_profile按照文档中的描述设置了我:

[[ -s "/Users/user/.rvm/scripts/rvm" ]] && source "/Users/user/.rvm/scripts/rvm" 
Run Code Online (Sandbox Code Playgroud)

谢谢你的帮助.非常感谢.

我正在使用Mac OS X Snow Leopard(10.6.6)

更新:

--default似乎对我不起作用......

user@terra ~ $ rvm use 1.9.2 --default
Using /Users/user/.rvm/gems/ruby-1.9.2-p180
user@terra ~ $ rvm default
user@terra ~ $
Run Code Online (Sandbox Code Playgroud)

Per*_*mal 46

我曾经遇到过同样的问题.原来rvm脚本加载了两次,这打破了一些东西.

检查所有当你打开外壳,获得加载的文件,例如~/.bash_profile,~/.bash_profile,~/.bash_profile等,并确保他们不会加载RVM两次.

也许放在你~/.bash_profile面前~/.bash_profile,~/.bash_profile看它是否发生

  • 这确实有效.我的`/ etc/profile`充满了RVM的东西.可能来自RVM的根本安装失败(我之后切换到用户安装).我从`/ etc/profile`中删除了所有与RVM相关的东西,并按预期方式工作. (2认同)

ken*_*dsl 17

移动这个:

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

在〜/ .bash_profile的底部解决了我的问题.


小智 8

ZSH用户的可能修复方法:

不知怎的,我有:

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

在.zprofile和.zshrc中.

从.zprofile中删除该行解决了该问题.(虽然你应该可以从任何一个中删除,只要它只出现一次)


小智 6

你运行命令rvm使用--default 1.9.2吗?

这对我在openSUSE上工作,但我不知道雪豹.


小智 6

我有同样的问题.移动线: __CODE__

从MacPorts出发后: __CODE__

为我解决了这个问题.


Ale*_*kov 5

我遇到了同样的问题,因为我使用Oh-My-Zsh,如果我有重复的RVM调用,则跟踪起来有点困难.

我通过将调用RVM从位于\ oh-my-zsh内的\ custom文件夹中的单独rvm.zsh文件移动到我的主.zshrc文件的最后来修复它.

看起来RVM对于在zsh初始化序列结束时不被调用非常敏感.


小智 5

代替:

rvm use 1.9.2 --default 
Run Code Online (Sandbox Code Playgroud)

我使用完整版:

rvm use ruby-1.9.2-p290 --default 
Run Code Online (Sandbox Code Playgroud)

这在zsh中对我有用.


ila*_*erg 5

作为健全性检查,请确保您正在处理的项目具有与您尝试在文件中设置为默认值的相同 Ruby 版本.ruby-version

这发生在我身上,我不明白为什么rvm不使用我的默认值。