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

当前回答

Linux / Ubuntu用户 步骤1:

$ rbenv versions
  system
  2.6.0
* 2.7.0 (set by /home/User/Documents/sample-app/.ruby-version) #Yours will be different
  2.7.2

步骤2:

$ nano /home/User/Documents/sample-app/.ruby-version

步骤3:

$ ruby -v
ruby 2.7.2p137 (2020-10-01 revision 5445e04352) [x86_64-linux]

其他回答

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

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

我遇到了同样的问题。 通过使用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,它有几个问题。

一旦你安装了ruby,它就不附带捆绑版本了 大多数情况下,在运行捆绑包安装时产生捆绑包版本拾取问题

为了减少这些工作,我建议使用rvm,使工作更简单。 按照这个链接安装RVM https://nrogap.medium.com/install-rvm-in-macos-step-by-step-d3b3c236953b

我通过在我的~/.bash_profile中添加以下内容来修复这个问题:

#PATH for rbenv
export PATH="$HOME/.rbenv/shims:$PATH"

这是https://github.com/sstephenson/rbenv上的文档。

据我所知,没有~/。Rbenv /bin目录,@rodowi在帖子中提到过。