我根据github的说明安装了rbenv。我正在运行OSX,但我已经在Ubuntu12.04虚拟机上尝试过了,并得到了相同的结果。以下是我尝试更改ruby版本时在终端中得到的结果:
rbenv版本
*1.9.3-p0(由/Users/user/.rbenv/version设置)
1.9.3-p125
rbenv全球
1.9.3-p0
rbenv再灰烬
ruby-v
ruby 1.8.7(2011-12-28 patchlevel 357)[universal-darwin11.0]
哪个红宝石
/usr/bin/ruby
有人知道为什么rbenv没有像它认为的那样切换ruby版本吗?此外,本地目录中没有导致ruby版本默认为1.8.7的.rbenv文件
rbenv本地
rbenv:没有为此目录配置本地版本
检查路径是否包含$HOME/.rbenv/垫片和$HOME/.rbenv/bin
$env| grep路径
如果使用bash,请检查~/.bash_配置文件中是否有以下内容;如果使用zsh,请检查~/.zshenv中是否有以下内容
导出路径=”$HOME/.rbenv/bin:$PATH“;
“评估”$(rbenv init-”;
注:
确保它是~/.bash_配置文件中的最后一个设置。我遇到了一个问题,我安装了一个更新.bash_配置文件并重置路径的程序
最后,确保您的$HOME文件夹中没有.ruby版本的文件,如果您执行了修改$rbenv local<;操作,则可能会意外创建该文件;ruby版本>在$HOME文件夹中。正在执行$rbenv global<;ruby版本>$HOME/.rbenv/version文件,并且$HOME文件夹中存在.ruby version文件将覆盖$HOME/.rbenv/version设置的版本
从文档中:
选择Ruby版本
当您执行一个垫片时,rbenv通过从以下来源按以下顺序读取来确定要使用哪个Ruby版本:
RBENV_版本环境变量(如果指定)。可以使用rbenv shell命令在当前shell会话中设置此环境变量
通过搜索正在执行的脚本目录及其每个父目录直到到达文件系统的根目录,找到的第一个.ruby版本文件
通过搜索当前工作目录及其每个父目录直到到达文件系统的根目录,找到的第一个.ruby版本文件。可以使用rbenv local命令修改当前工作目录中的.ruby版本文件
全局~/.rbenv/version文件。可以使用rbenv global命令修改此文件。如果全局版本文件不存在,rbenv假定您希望使用;系统“;Ruby—即,如果rbenv不在您的路径中,将运行的任何版本