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

M1芯片Mac安装Cocoapods提示无写入权限问题求助

M1芯片MacOS安装Cocoapods权限错误解决方法

执行sudo gem install cocoapods时出现权限错误,具体信息如下:

ERROR:  While executing gem ... (Gem::FilePermissionError)
    You don't have write permissions for the /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/gems/2.6.0 directory.
    /Library/Ruby/Site/2.6.0/rubygems/installer.rb:712:in `verify_gem_home'
    /Library/Ruby/Site/2.6.0/rubygems/installer.rb:902:in `pre_install_checks'
    /Library/Ruby/Site/2.6.0/rubygems/installer.rb:302:in `install'
    /Library/Ruby/Site/2.6.0/rubygems/resolver/specification.rb:104:in `install'
    /Library/Ruby/Site/2.6.0/rubygems/request_set.rb:194:in `block in install'
    /Library/Ruby/Site/2.6.0/rubygems/request_set.rb:182:in `each'
    /Library/Ruby/Site/2.6.0/rubygems/request_set.rb:182:in `install'
    /Library/Ruby/Site/2.6.0/rubygems/commands/install_command.rb:214:in `install_gem'
    /Library/Ruby/Site/2.6.0/rubygems/commands/install_command.rb:230:in `block in install_gems'
    /Library/Ruby/Site/2.6.0/rubygems/commands/install_command.rb:223:in `each'
    /Library/Ruby/Site/2.6.0/rubygems/commands/install_command.rb:223:in `install_gems'
    /Library/Ruby/Site/2.6.0/rubygems/commands/install_command.rb:169:in `execute'
    /Library/Ruby/Site/2.6.0/rubygems/command.rb:323:in `invoke_with_build_args'
    /Library/Ruby/Site/2.6.0/rubygems/command_manager.rb:185:in `process_args'
    /Library/Ruby/Site/2.6.0/rubygems/command_manager.rb:149:in `run'
    /Library/Ruby/Site/2.6.0/rubygems/gem_runner.rb:51:in `run'
    /usr/bin/gem:21:in `<main>'

原因

M1 Mac的系统Ruby目录受**系统完整性保护(SIP)**限制,即使用sudo也无法修改,因此不能直接向系统Ruby环境安装gem。


解决方案(按推荐程度排序)

1. 使用Homebrew安装独立Ruby环境(推荐)

这种方法完全隔离系统Ruby,避免后续权限问题:

  • 安装Homebrew(未安装的话):
    /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
    
  • 安装Ruby:
    brew install ruby
    
  • 配置环境变量,让系统优先使用Homebrew的Ruby:
    • 若使用zsh,编辑~/.zshrc,添加:
      export PATH="/usr/local/opt/ruby/bin:$PATH"
      
    • 若使用bash,编辑~/.bash_profile,添加同样内容
  • 刷新环境变量:
    source ~/.zshrc  # zsh用户
    # 或 source ~/.bash_profile  # bash用户
    
  • 验证Ruby版本(确认不是系统默认的2.6.x):
    ruby -v
    
  • 安装Cocoapods(无需sudo):
    gem install cocoapods
    

2. 使用gem的用户目录安装

直接将Cocoapods安装到用户专属目录,避开系统权限限制:

  • 执行安装命令:
    gem install cocoapods --user-install
    
  • 配置环境变量,将用户gem的bin目录加入PATH:
    编辑~/.zshrc或~/.bash_profile,添加:
    export PATH="$HOME/.gem/ruby/2.6.0/bin:$PATH"
    
    (注意:路径中的2.6.0需与系统Ruby版本保持一致,可通过ruby -v查看)
  • 刷新环境变量后,验证安装:
    pod --version
    

3. 通过Rosetta 2运行终端

若不想修改Ruby环境,可通过Rosetta兼容模式绕过权限限制:

  • 找到「终端」应用,右键选择「显示简介」
  • 勾选「使用Rosetta打开」,重启终端
  • 执行安装命令:
    sudo gem install cocoapods
    

内容的提问来源于stack exchange,提问作者Владимйр

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 07:01:07