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

MacOS Big Sur下如何切换使用gcc@9替代gcc 10

嘿,我来帮你搞定Mac上切换GCC版本的问题,咱们一步步来解决:

第一步:确认gcc@9的安装状态

你提到gcc@9已经在/usr/local/Cellar/gcc@9/9.3.0_1目录下,但brew ls --versions gcc只显示gcc 10.2.0_4,这是因为Homebrew里gcc(默认指向最新稳定版)和gcc@9是两个独立的Formula包。要查看gcc@9的具体版本,得用专门的命令:

brew ls --versions gcc@9

如果返回gcc@9 9.3.0_1,就说明它确实已经安装到位了。

第二步:切换到gcc@9的三种常用方法

根据你的需求(临时切换或永久生效),可以选下面任意一种方式:

方法1:用Homebrew链接切换(全局永久生效)

Homebrew会把当前激活的GCC版本链接到/usr/local/bin(系统优先搜索的路径)。要切换到gcc@9,先取消当前gcc 10的链接,再强制链接gcc@9:

# 先断开gcc 10的系统链接
brew unlink gcc
# 强制链接gcc@9(因为是旧版本,Homebrew默认不会自动覆盖,所以需要--force)
brew link gcc@9 --force

执行完后,马上验证一下:

gcc --version
g++ --version

应该会显示gcc 9.3.0的版本信息了。如果之后想切回gcc 10,反向操作就行:

brew unlink gcc@9
brew link gcc --force

方法2:临时别名(仅当前终端会话生效)

如果只是临时想用gcc@9,不想修改全局设置,直接在当前终端里设置别名就行:

alias gcc='gcc-9'
alias g++='g++-9'

这样在这个终端里输入gcc就会调用gcc@9,关闭终端后别名就失效了,不会影响其他会话。

方法3:永久别名/修改PATH(用户级永久生效)

如果想让gcc@9成为你默认的GCC版本,可把别名加到shell配置文件里:

  • 如果你用的是Mac默认的Zsh,编辑~/.zshrc
  • 如果你用Bash,编辑~/.bash_profile或~/.bashrc

打开对应的文件,添加以下内容:

alias gcc='gcc-9'
alias g++='g++-9'

保存后,执行source ~/.zshrc(对应你的配置文件)让修改立即生效,之后每次打开终端都会自动应用这个别名。

另一种方式是直接把gcc@9的bin目录加到PATH最前面,让系统优先找到它:

echo 'export PATH="/usr/local/Cellar/gcc@9/9.3.0_1/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc

这种方式不需要设置别名,系统会直接优先调用gcc@9的gcc和g++命令。

验证切换结果

不管用哪种方法,最后都可以用这两个命令确认是否成功:

# 查看当前gcc的路径
which gcc
# 查看当前gcc版本
gcc --version

如果输出显示的是gcc 9.3.0的信息,就说明切换成功啦!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.29 10:24:07