无法更改rbenv全局ruby版本

时间:2012-12-14 18:12:54

标签: ruby-on-rails rbenv

我最近从RVM切换到rbenv,我似乎无法在ruby版本之间切换,即使'rbenv版本'告诉我我有我想切换的版本。

这就是我在做的事情:

ruby -v
ruby 1.8.7 (2012-02-08 patchlevel 358) [universal-darwin12.0]

我想切换到1.9.2-p290所以请确保我的版本中有它:

ruby versions
1.8.7-p370
1.9.2-p290
1.9.3-p125
1.9.3-rc1

好的,现在我看到我有它让我们试着改变全局的rbenv:

rbenv global 1.9.2-p290
ruby -v
ruby 1.8.7 (2012-02-08 patchlevel 358) [universal-darwin12.0]

似乎1.8.7仍然是活跃的全球红宝石。

所以,让我们尝试在我的项目中将其设置为本地。     rbenv local 1.9.2-p290

这会在我的rails项目中创建一个.rbenv-versions文件。伟大的让我们尝试并运行bundle:

Gem::InstallError: factory_girl requires Ruby version >= 1.9.2.
An error occurred while installing factory_girl (4.1.0), and Bundler cannot continue.
Make sure that `gem install factory_girl -v '4.1.0'` succeeds before bundling. 

我不确定接下来要做什么......

2 个答案:

答案 0 :(得分:4)

我今天在朋友的(OSX)计算机上解决了这个问题,问题可能是你同时安装了RVM和Rbenv,首先你必须确保删除了RVM;

在终端执行:

sudo rm -rf ~/.rvm

完成后,重新打开终端。然后尝试ruby -v,您看到的版本可能是系统版本 ruby​​ 1.8.7 。然后再次尝试使用Rbenv选择正确的Ruby版本:

rbenv global 2.0.0-p247

另外,请确保Rbenv在您的路径中:

echo $PATH
=> /Users/jankeesvw/.rbenv/bin:/Users/jankeesvw/.rbenv/shims:/Users/jankeesvw/.rbenv/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/mysql/bin

如果您的路径中没有此Rbenv,请按照Rbenv github page

上的说明操作

答案 1 :(得分:0)

如果$ echo $PATH

没有.rbenv然后执行:

$ echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile
$ echo 'eval "$(rbenv init -)"' >> ~/.bash_profile

并重新启动shell。