【发布时间】:2012-05-14 21:39:28
【问题描述】:
按照rbenv 的 Github 页面上描述的设置并运行rbenv global 1.9.2-p290 命令后,ruby -v 仍然输出 1.8.7。当我尝试运行 bundle 时,由于新的 Ruby 1.9 哈希语法而出错,所以我知道它仍在使用 Ruby 1.8 运行。
我在 Vagrant Railscast 之后遇到了这个问题。所以这是在剧集中的 Vagrant 虚拟盒子中。
【问题讨论】:
按照rbenv 的 Github 页面上描述的设置并运行rbenv global 1.9.2-p290 命令后,ruby -v 仍然输出 1.8.7。当我尝试运行 bundle 时,由于新的 Ruby 1.9 哈希语法而出错,所以我知道它仍在使用 Ruby 1.8 运行。
我在 Vagrant Railscast 之后遇到了这个问题。所以这是在剧集中的 Vagrant 虚拟盒子中。
【问题讨论】:
嗯,当我有一个流浪的.rbenv-version 文件时,这发生在我身上。你之前是不是不小心用rbenv local创建了一个?或者您尝试运行的项目是否带有一个(尽管如果它需要 1.9 功能,那会很奇怪)。
【讨论】:
rbenv shell 设置它,这会设置一个环境变量,一旦您关闭shell 会话就会消失。 rbenv local 将创建一个仍然存在的.rbenv-version 文件。
您必须重新启动 shell 才能使其正常工作。 rbenv 中的一些魔力包含在您的 shell 的启动脚本中,除非您手动调用该脚本,否则它只会在您完成安装后启动的 shell 中工作。
另一个可能的原因是您跳过了将代码添加到 shell 启动脚本的步骤。要完全激活 rbenv,您必须将eval "$(rbenv init -)" 添加到相应的脚本中:~/.profile 如果您使用的是 bash,或者~/.zshrc 如果您使用的是 zsh。
此外,如果您想为所有用户启用rbenv,您可以将它们添加到这些文件的系统范围版本中,存储在/etc中
【讨论】: