我最近从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.
我不确定接下来要做什么......
答案 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。