rbenv没有正确切换Ruby版本

时间:2012-05-05 17:12:30

标签: ruby vagrant rbenv

按照rbenv的Github页面上描述的设置并运行rbenv global 1.9.2-p290命令后,ruby -v仍然输出1.8.7。当我尝试运行bundle时,由于新的Ruby 1.9哈希语法,它会出错,所以我知道它仍然在运行Ruby 1.8。

我在Vagrant Railscast之后遇到了这个问题。所以这是在剧集中的Vagrant虚拟框中。

2 个答案:

答案 0 :(得分:4)

您必须重新启动shell才能使其正常运行。 rbenv中的一些魔法包含在shell的启动脚本中,除非您手动调用脚本,否则它只适用于完成安装后启动的shell。

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

此外,如果您要为所有用户启用rbenv,您可以将它们添加到存储在/etc

答案 1 :(得分:1)

嗯,当我有一个流浪的.rbenv-version文件时,这件事发生在我身上。您之前是否偶然使用rbenv local创建了一个?或者你试图运行的项目是否带有一个(尽管如果它需要1.9个功能,这将是奇怪的。)