我根据github的说明安装了rbenv。我正在运行OSX,但我已经在Ubuntu 12.04虚拟机上尝试了这一点,并得到了相同的结果。下面是当我尝试更改ruby版本时,在我的终端中得到的结果:

rbenv versions
* 1.9.3-p0 (set by /Users/user/.rbenv/version)
1.9.3-p125

rbenv global
1.9.3-p0

rbenv rehash

ruby -v
ruby 1.8.7 (2011-12-28 patchlevel 357) [universal-darwin11.0]

which ruby
/usr/bin/ruby

有人知道为什么rbenv没有像它认为的那样切换ruby版本吗?此外,本地目录中没有.rbenv文件,这将导致ruby版本默认为1.8.7

rbenv local
rbenv: no local version configured for this directory

当前回答

你可以试试用chruby?chruby不依赖于shims,相反,它只修改PATH, GEM_HOME, GEM_PATH。

其他回答

奇怪的是,rbenv版本没有设置.rbenv文件。

使用:ls -ltra——>检查rbenv是否被写入。

有很多误导性的答案是有效的。我认为值得一提的是rbenv README的步骤。

$ brew安装rbenv $ rbenv init并按照它给出的指示执行。这是我得到的:

~ $ rbenv init
# Load rbenv automatically by appending
# the following to ~/.bash_profile:

eval "$(rbenv init -)"

我更新了~/.bash_profile…

关闭终端,重新打开 通过运行以下命令来验证它是否正常工作:

$ curl -fsSL https://github.com/rbenv/rbenv-installer/raw/master/bin/rbenv-doctor | bash

现在只需安装你想要的版本:rbenv install <version>

将以下内容添加到.bashrc对我来说是有效的-

导出路径= " $ HOME / .rbenv /垫片:美元路径”

我在安装rbenv之前忘记删除rvm。我删除了rvm并重新安装了rbenv,但是系统仍然没有使用被rbenv指定为全局的Ruby版本。我试着关闭终端,但它只工作了一次,我重新启动整个机器。

我遇到了同样的问题。 通过使用sudo运行rbenv global命令修复了这个问题。 我觉得是许可的问题。

更新: 我终于找到了解决办法。 在我的mac上有一个相同的文件“version”,位于/usr/local/ cellar /rbenv/0.3.0/下。 我认为它偶尔是被错误创造出来的。你应该把它去掉。