在 Catalina 升级后 zsh 返回错误的解释器

chr*_*tin 4 ruby macos-catalina

升级到 macOS Catalina 后,我收到一条错误消息。

zsh:/usr/local/bin/colorls:错误的解释器:/System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/bin/ruby:没有这样的文件或目录

Ruby 似乎已更新,因为当我运行时ruby -v,它输出以下内容。

ruby 2.6.3p62 (2019-04-16 修订版 67580) [universal.x86_64-darwin19]

如何让 colorls 使用 Ruby 2.6 而不是安装命令时存在的 Ruby 2.3?

我尝试重新安装,然后多次卸载它,但仍然出现相同的错误。

我确实设法使用以下行暂时使错误消息消失。

PATH="`ruby -e 'puts Gem.user_dir'`/bin:$PATH"
Run Code Online (Sandbox Code Playgroud)

每次我打开一个新终端,错误信息都会再次出现。我想找到一种方法让它持久化。

小智 9

在尝试了几种不同的解决方案之后,我设法使其与 RVM 一起使用。

从终端安装 rvm:

\curl -sSL https://get.rvm.io | bash -s stable
Run Code Online (Sandbox Code Playgroud)

安装完成后,它会说:

To start using RVM you need to run `source /Users/{username}/.rvm/scripts/rvm`
Run Code Online (Sandbox Code Playgroud)

所以将它复制/粘贴到终端,然后安装你想要的 ruby​​ 版本,我使用了:

rvm install 2.6.5
Run Code Online (Sandbox Code Playgroud)

现在当你有你的 ruby​​ 时,你应该能够为你选择的版本安装 gems,例如我安装了 bundler

gem install bundler
Run Code Online (Sandbox Code Playgroud)

这将使 rvm 成为默认的 ruby​​ 管理器,并将从终端使用 2.6.5。希望有帮助。


Had*_*ari 5

对我来说,与 Catalina 一起安装的 ruby​​ 版本更新。我只需要重新安装丢失的 gems,所以如果你已经安装了 ruby​​,这可能会解决它:

gem install colorls