2

我最近从 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 本地 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. 

我不确定下一步该怎么做...

4

2 回答 2

5

我今天在朋友的(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 页面上的说明进行操作

于 2013-09-12T20:45:28.273 回答
3

如果$ echo $PATH

没有 .rbenv 然后执行:

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

并重新启动外壳。

于 2015-12-24T18:39:29.370 回答