You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Mac High Sierra执行gem update --system遇Operation not permitted权限错误

解决Mac High Sierra下执行sudo gem update --system的权限问题

你碰到的这个Errno::EPERM权限错误太常见了——Mac High Sierra里的系统自带Ruby目录受**系统完整性保护(SIP)**管控,哪怕用sudo也没法修改/System/Library路径下的文件,这是苹果为了防止恶意篡改系统核心组件做的安全限制,直接更新系统Ruby的gem自然会失败。

给你两个靠谱的解决方案,推荐第一种,长期使用更省心:

方案一:用rbenv安装独立Ruby环境(推荐)

这个方法会给你搭建一个完全独立的Ruby环境,和系统自带的互不干扰,以后更新、切换Ruby版本都很灵活:

  • 如果你还没装Homebrew,先执行这个命令安装:/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
  • 安装rbenv:brew install rbenv
  • 把rbenv加入shell初始化:执行rbenv init,按照终端提示把对应的代码片段添加到你的shell配置文件(比如~/.bash_profile或~/.zshrc,取决于你用的shell)
  • 重启终端,或者执行source ~/.bash_profile(对应你的配置文件)让改动生效
  • 查看可安装的Ruby稳定版本:rbenv install -l
  • 选一个最新的稳定版安装(比如3.2.2,按需选择):rbenv install 3.2.2
  • 设置这个版本为全局默认:rbenv global 3.2.2
  • 验证结果:执行ruby -v,显示你刚安装的版本就成功了
  • 现在再执行gem update --system就不会有权限问题,之后安装Sass直接跑gem install sass就行

方案二:用gem的用户目录安装(临时快速解决)

如果不想折腾独立环境,也可以把gem更新到你的用户目录下,避开系统权限限制:

  • 执行更新命令时加上--user-install参数:gem update --system --user-install
  • 接下来需要把用户gem的可执行文件目录加到系统PATH里,打开你的shell配置文件(比如~/.bash_profile),添加一行:export PATH="$HOME/.gem/ruby/2.3.0/bin:$PATH"(注意这里的2.3.0要和你系统Ruby的版本对应,就是报错里的2.3版本)
  • 保存后执行source ~/.bash_profile让PATH生效,之后就能正常使用更新后的gem,安装Sass也没问题

⚠️ 特别提醒:别想着去关闭SIP来修改系统Ruby,不仅会降低系统安全性,而且每次系统更新后你的修改大概率会被重置,完全没必要。

内容的提问来源于stack exchange,提问作者xylar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 04:28:45