如何使用Homebrew的Ruby包而不是MacOS自带的Ruby包?

问题描述 投票:0回答:5

如何从使用 MacOS 附带的 Ruby 版本切换到使用 Homebrew 下载的最新版本的 Ruby?

我的 MacOS 版本似乎已经在

ruby 2.3.7p456 (2018-03-28 revision 63024) [universal.x86_64-darwin18]
的系统中安装了
usr/bin/ruby
。我尝试运行
brew install ruby
来获取最新版本的 Ruby,但是当我运行
ruby -v
时,会显示相同的旧版本。我想我可能必须将其添加到我的路径中,所以我转到我的
~/.bash_profile
并添加了

export PATH="/usr/local/Cellar/ruby/2.6.1/bin/ruby:$PATH"

但仍然

ruby -v
显示旧版本。我关闭了终端,重新打开了终端,运行了
source ~/.bash_profile
,但没有运气。

ruby macos homebrew
5个回答
6
投票

找出我的错误。

export PATH="/usr/local/Cellar/ruby/2.6.1/bin/ruby:$PATH"

应该是

export PATH="/usr/local/Cellar/ruby/2.6.1/bin:$PATH"

然后就跑

source ~/.bash_profile

并用

ruby -v
type -a ruby

确认

2
投票

@prettycoder 的回答几乎对我有用。我还需要做一个

rbenv init
才能在运行时获得正确版本的 ruby
ruby -v
:

brew install rbenv
brew upgrade ruby-build
rbenv install 2.6.5
rbenv global 2.6.5
 or
rbenv local 2.6.5
rbenv init

1
投票

我建议使用版本管理器,例如

rbenv

 brew install rbenv
 brew upgrade ruby-build
 rbenv install 2.6.1
 rbenv global 2.6.1
 or
 rbenv local 2.6.1

有关 rbenv 的详细信息请参见:https://github.com/rbenv/rbenv


1
投票

而不是

export PATH="/usr/local/Cellar/ruby/2.6.1/bin:$PATH"

用这个比较好

export PATH="/usr/local/opt/ruby/bin:$PATH"

这是

../Cellar/ruby/2.6.1
的符号链接。您可以使用
readlink
来打印它。

那么你就不用担心升级ruby了。


0
投票

对于M1/苹果硅用户:

根据 3.2.2.1 版本的官方 ruby 公式警告:

If you need to have ruby first in your PATH, run:
  echo 'export PATH="/opt/homebrew/opt/ruby/bin:$PATH"' >> ~/.zshrc

^ 可以适应您使用的任何 shell。 这解决了我的问题,我的红宝石从

/usr/bin/ruby
变为
/opt/homebrew/opt/ruby/bin/ruby
,这是正确的版本。

© www.soinside.com 2019 - 2024. All rights reserved.