我根据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

当前回答

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

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

其他回答

执行此命令

将rbenv添加到bash中,以便在每次打开终端时加载它

echo 'if which rbenv > /dev/null; then eval "$(rbenv init -)"; fi' >> ~/.bash_profile
source ~/.bash_profile

这将解决你的问题

对我来说,使用rbenv和zsh最简单的方法是将rbenv添加到.zshrc配置中的插件部分。在我的例子中,它看起来类似于:

# Which plugins would you like to load? (plugins can be found in ~/.oh-my-zsh/plugins/*)
# Custom plugins may be added to ~/.oh-my-zsh/custom/plugins/
# Example format: plugins=(rails git textmate ruby lighthouse)
# Add wisely, as too many plugins slow down shell startup.
plugins=(git bower rails ruby rbenv gulp npm node nvm sublime)

在rbenv的帮助下,安装、切换和使用ruby版本都没有问题。

注意在做出更改后重新启动终端会话。

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

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

如果使用bash,请转到

~/.bash_profile

并添加以下行(如果还没有的话)

if which rbenv > /dev/null; then eval "$(rbenv init -)"; fi

如果您正在使用Zsh,请转到

~/.zshrc

并在.zshrc文件的末尾添加同一行代码。

然后简单地重新启动你的终端,现在应该没问题了。

我刚刚发现了同样的问题。我所做的就是卸载rbenv(通过homebrew)并重新安装它。我还补充了

if which rbenv > /dev/null; then eval "$(rbenv init -)"; fi

到~ /。bash_profile当我重新安装rbenv。现在工作得很好。