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

当前回答

奇怪的是,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>

我在MacBook Pro Catalina OS和MacBook Pro Big Sur上使用rbenv设置Ruby时遇到了这个问题。

以下是我的解决方法:

首先运行以下命令初始化rbenv:

rbenv init

这将给你一些指导,告诉你该怎么做。基本上你必须打开~/。ZSHRC文件,并将其添加到文件eval "$(rbenv init -)"。你可以通过运行下面的命令来完成:

echo 'eval "$(rbenv init -)"' >> ~/.zshrc

接下来,运行下面的命令来设置Ruby版本:

rbenv local <your-desired-ruby-version>

就我而言,我想要的Ruby版本是3.0.1,所以它是:

rbenv local 3.0.1

当你完成后,使用Command + Q退出你的终端,然后打开一个新终端,这次当你运行命令时:

ruby -v 
rbenv versions

您将看到已经为您设置了所需的Ruby版本。

执行此命令

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

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

这将解决你的问题

我也遇到过同样的问题,不过是由Homebrew软件引起的:

[~]$ rbenv version
2.3.0 (set by /Users/user/.rbenv/version)
[~]$ ruby -v
ruby 2.3.3p222 (2016-11-21 revision 56859) [x86_64-darwin16]
[~]$ which ruby
/usr/local/bin/ruby

我也通过Homebrew安装了Ruby, Homebrew路径在$ path中的rbenv路径前面。运行brew uninstall ruby为我解决了这个问题。

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]