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

当前回答

显然,当我使用罗塞塔终端时,它对我有效

您可以尝试使用Rosetta终端做同样的事情

通过进入

Finder > Utilities > Terminal >获取信息

其他回答

Rbenv帮助shell

"通过在shell中设置'RBENV_VERSION'环境变量来设置特定于shell的Ruby版本。此版本将覆盖特定于本地应用程序的版本和全局版本。应该是一个与rbenv已知的Ruby版本匹配的字符串。特殊版本字符串'system'将使用默认的系统Ruby。运行rbenv versions'查看可用的Ruby版本列表。”

如果rbenv被正确安装,ruby -v将对应于

Rbenv shell 1.9.3-p125

这可能是个老问题了,但谷歌把我带到了这里,为了子孙后代着想,我想分享一下。

在以上推荐的许多解决方案之后,我的问题仍然存在。像OP一样,我安装了rbenv,然后安装了ruby版本,但我的笔记本电脑默认为system。我在跑步时忽略了一点:

[~/.rbenv] $ rbenv versions
* system (set by /Users/alphadogg/.rbenv/version)
  2.0.0-p247

IOW,它仍然默认系统。一个快速

[~/.rbenv] $ rbenv local 2.0.0-p247

换成新版本了。

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

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

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

我尝试了所有的解决方案,但没有一个对我有效。甚至我也在.zshrc文件中包含了路径。

就我而言,我使用的是MacBook Pro M2和macOS Ventura 13.2。我使用的是React Native 0.71.2,需要Ruby 2.7.6版本。

我简单地把下面的代码放在。zprofile中,而不是。zshrc,它工作了:

export PATH="$HOME/.rbenv/bin:$PATH"
eval "$(rbenv init - zsh)"