苹果M1芯片macOS Big Sur下安装GCC 11.2.0及权限报错解决
权限问题诱因
- Apple Silicon系列芯片的Mac上,Homebrew默认安装路径为
/opt/homebrew,部分版本的macOS Big Sur会对该目录做默认访问限制,当前登录用户未被授予该目录的读写执行权限时就会触发访问拒绝。 - GCC安装过程中出现异常中断,导致生成的二进制目录所有者被错误配置为root用户,普通用户没有
x(执行)权限,无法访问目录内的可执行文件。 - 此前使用过
sudo执行Homebrew相关操作,导致部分目录权限被提升为root所有,后续普通用户操作时就会被系统拦截。
解决步骤
- 修复Homebrew目录的所有者配置,在终端执行命令:
sudo chown -R $(whoami) /opt/homebrew
该命令会将/opt/homebrew整个目录的所有者改为当前登录用户,解决root用户占有的权限冲突问题。 - 给GCC对应目录授予当前用户的执行权限,执行命令:
chmod -R u+x /opt/homebrew/Cellar/gcc/11.2.0
确保当前用户可以访问目录内的gcc、g++等可执行二进制文件。 - 验证权限修复结果,执行命令:
/opt/homebrew/Cellar/gcc/11.2.0/bin/gcc-11 --version
如果正常返回GCC 11.2.0的版本信息,说明权限问题已经解决。
VSCode适配补充操作
如果需要在VSCode中正常调用该版本GCC,可将GCC路径添加到zsh环境变量中:
- 打开用户目录下的
.zshrc配置文件 - 添加一行配置:
export PATH="/opt/homebrew/Cellar/gcc/11.2.0/bin:$PATH" - 保存后执行
source ~/.zshrc让配置生效,后续终端和VSCode的集成终端都可以直接调用gcc-11、g++-11命令。
注意事项
- 不要随意给
/opt/homebrew目录设置777全局权限,会带来不必要的系统安全风险,上述所有者赋值+用户执行权限的配置已经足够满足日常使用需求。 - 如果执行chown命令时提示
Operation not permitted,需要先进入「系统偏好设置-安全性与隐私-隐私」标签页,给当前使用的终端应用授予「完全磁盘访问权限」,重启终端后再执行命令即可。
内容的提问来源于stack exchange,提问作者Aditi Singh
相关产品推荐
相关产品推荐

