如何升级Mac系统默认预装的Ruby版本?
关于Mac系统预装Ruby升级的建议
不建议直接升级系统预装的Ruby。原因很简单:macOS自带的Ruby是给系统内部工具(比如系统维护脚本、软件安装器)用的,强行替换或修改/usr/bin/ruby会导致这些工具无法正常工作,严重的话可能引发系统稳定性问题。
如果你不想用rvm或brew,推荐两种安全的方式安装Ruby 2.7.0,完全不会和系统版本冲突:
方式一:手动源码编译安装
- 先安装编译依赖:
xcode-select --install - 下载Ruby 2.7.0的源码包,解压后进入源码目录,执行配置命令(指定安装到非系统目录,避免覆盖系统文件):
./configure --prefix=/usr/local/ruby-2.7.0 - 编译并安装:
make && sudo make install - 让终端优先使用新安装的Ruby:打开你的shell配置文件(比如
~/.zshrc或~/.bash_profile),添加一行:
保存后执行export PATH="/usr/local/ruby-2.7.0/bin:$PATH"source ~/.zshrc(对应你的配置文件),重启终端后输入ruby -v就能看到2.7.0版本了。
方式二:用chruby + ruby-build管理版本
这是比手动编译更省心的方式,同样不会触碰系统Ruby:
- 先安装ruby-build和chruby(可通过git克隆源码手动安装):
- 克隆ruby-build:
git clone https://github.com/rbenv/ruby-build.git ~/.ruby-build - 把ruby-build的bin目录加到PATH:
echo 'export PATH="$HOME/.ruby-build/bin:$PATH"' >> ~/.zshrc - 克隆chruby:
git clone https://github.com/postmodern/chruby.git ~/.chruby - 加载chruby:
echo 'source ~/.chruby/share/chruby/chruby.sh' >> ~/.zshrc
- 克隆ruby-build:
- 安装Ruby 2.7.0:
ruby-build 2.7.0 ~/.rubies/ruby-2.7.0 - 切换到2.7.0版本:
如果想默认使用这个版本,在chruby 2.7.0~/.zshrc里加chruby ruby-2.7.0即可。
不管用哪种方式,系统预装的Ruby都不会被修改,系统工具依然会调用/usr/bin/ruby,完全不用担心冲突问题。
内容的提问来源于stack exchange,提问作者Charles Owen
相关产品推荐
相关产品推荐

