macOS Big Sur能否使用预装Ruby?为何被告知勿用系统Ruby?
为什么不建议使用macOS系统预装的Ruby
结合你当前的环境检测结果:
$ ruby -v ruby 2.6.3p62 $ which ruby /usr/bin/ruby
位于/usr/bin/ruby的是macOS随系统预装的Ruby版本,被提醒不要使用系统Ruby的核心原因非常实际:
- 受系统保护,改动风险极高
这个路径下的程序受macOS系统完整性保护(SIP)管控,没有开放给普通用户修改、升级的权限。日常开发安装第三方gem时,若试图向系统目录写入内容,不仅操作门槛高,还可能因为误改了系统依赖的运行组件,破坏macOS本身的基础功能——很多系统内置的后台脚本、实用工具本身就依赖这个版本的Ruby运行,随意调整版本或组件可能导致系统功能异常、系统更新失败。 - 预装版本老旧,无有效维护
你当前Big Sur自带的Ruby 2.6.3发布于2019年,整个Ruby 2.6分支早在2022年就终止了官方安全维护,没有后续的漏洞修复。同时现在主流的开发框架、第三方gem组件早就放弃对2.6系列的支持,用这个版本跑实际开发项目,大概率会碰到依赖安装失败、功能不兼容的问题。 - 无法灵活适配开发需求
不同的开发项目往往需要匹配不同的Ruby版本,系统预装的Ruby不支持随意切换、降级、升级,日常开发碰到多版本并存的项目时根本没法灵活调整,反而会因为版本不匹配徒增大量环境调试问题。
内容的提问来源于stack exchange,提问作者Daniel Kehoe
相关产品推荐
相关产品推荐

