2012-05-05 86 views
2

在按照Github页面上描述的设置rbenv并运行rbenv global 1.9.2-p290命令后,ruby -v仍输出1.8.7。当我尝试运行bundle时,由于新的Ruby 1.9哈希语法而出现错误,所以我知道它仍在Ruby 1.8中运行。rbenv没有正确切换Ruby版本

我在Vagrant Railscast之后遇到了这个问题。所以这是在一个流浪者虚拟框中,如在情节。

回答

1

嗯,这发生在我身上一次当我有一个流浪的.rbenv-version文件躺在周围。你以前有没有意外创建一个rbenv local?或者你正在尝试运行的项目有一个(尽管如果它需要1.9个功能,这会很奇怪)。

+0

我试图与当地rbenv搞乱,它似乎并没有工作,但是当我重新启动我的shell时,ruby -v显示1.9.2。我猜你对shell会话是正确的。 – camdub

+0

在这种情况下,您可能会使用'rbenv shell'来设置它,它会设置一个环境变量,一旦关闭shell会话就会消失。 'rbenv local'会创建一个仍然存在的'.rbenv-version'文件。 –

4

你必须重新启动你的shell才能正常工作。 rbenv中的一些魔力包含在你的shell启动脚本中,除非你手动调用这个脚本,否则它只能在完成安装之后在开始的shell中工作。

另一个可能的原因是如果您跳过将代码添加到shell的启动脚本的步骤。要完全激活rbenv,必须将eval "$(rbenv init -)"添加到适当的脚本中:~/.profile如果使用bash,或者~/.zshrc如果使用zsh。

另外,如果要启用rbenv所有的用户,你可以将它们添加到这些文件的全系统版本,存储在/etc