我正在尝试更新我的 ruby 根版本。根目录似乎没有更新。即使通过 homebrew 或 rbenv 安装 ruby - ruby 也会更新,但运行 ruby -v 仍保持在 2.6 版本。我担心主要根源是错误的,我想知道如何解决这个问题。
运行此命令将获得以下输出:
红宝石-v
ruby 2.6.10p210(2022-04-12 修订版 67958) [通用.arm64e-darwin23]
运行此命令将获得以下输出:
rbenv版本:
3.3.0(由/Users/ninajay/.ruby-version设置)
运行此命令将获得以下输出:
导出 PATH="/opt/homebrew/opt/ruby/bin:$PATH"
红宝石-v
ruby 3.3.0(2023-12-25 修订版 5124f9ac75)[arm64-darwin23]
另外,当我运行此命令时,以下是我的路径:
环境 | grep 路径
PATH=/Users/ninajay/opt/miniconda3/bin:/Users/ninajay/opt/miniconda3/condabin:/Library/Frameworks/Python.framework/Versions/3.12/bin:/Library/Frameworks/Python.framework/Versions /3.10/bin:/opt/homebrew/bin:/opt/homebrew/sbin:/usr/local/bin:/System/Cryptexes/App/usr/bin:/usr/bin:/bin:/usr/sbin: /sbin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/local/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/bin :/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/appleinternal/bin:/Library/Apple/usr/bin:/usr/local/share/dotnet:~/.dotnet/tools
您不想更新 Ruby 的“root”版本。
由于您使用的是 Mac,因此您在路径
/usr/bin/ruby
处预装了 Ruby 版本。如果有的话,这是您的 Ruby 的“root”版本。更新此问题的唯一好方法是更新 macOS,并希望 Apple 为您更新 Ruby。
如果您通过 homebrew、rbenv、rvm 或其他方式安装 Ruby,那么它是完全独立的 Ruby 安装。例如,它可能位于
/opt/homebrew/bin/ruby
或 ~/.rbenv/versions/3.1.2/bin/ruby
。
问题是:当您在 shell 中输入
ruby
时,您希望它运行哪一个以及让它运行的最佳方法是什么?
首先,您要运行 rbenv 版本。 rbenv 的全部意义在于,它可以让您随时轻松更新 ruby,并随意切换版本。这意味着您希望
ruby
运行 ~/.rbenv/shims/ruby
。您可以直接运行以下命令来手动检查 rbenv 是否安装了您想要的版本:
~/.rbenv/shims/ruby -v
现在让
ruby
运行该版本的最佳方法是什么?阅读“配置您的 shell 加载 rbenv”下的您的 shell 的说明。这通常涉及在您的 shell 配置中添加像 eval "$(~/.rbenv/bin/rbenv init - bash)"
这样的行,但这取决于您使用的特定 shell。同样,您可以通过运行来手动测试它
rbenv init
ruby -v
如果运行
ruby
做了一些您意想不到的事情,您也可以运行 type -a ruby
来查看您的 shell 可以运行的所有可能的事情(按优先级顺序)。如果某些配置错误而运行错误,这可以帮助您进行调试。