为什么这两个命令在Mac上会提供不同的gcc版本?

时间:2019-03-21 23:28:55

标签: gcc homebrew

我已经在Mac High Sierra上安装了gcc(这是我需要使用的某些软件所需要的)。我被要求检查我的gcc是否已更新,以便安装上述软件。经过一番搜索,我找到了this命令来找到它-

gcc -dumpversion | cut -f1,2,3 -d.

这将输出为4.2.1。

当我尝试运行brew install gcc时,却显示-

  

错误:已安装gcc 8.2.0   要升级到8.3.0,请运行brew upgrade gcc

我不明白为什么这两个命令会给出不同版本的gcc,并且在我尝试安装软件时实际上可以使用这两个命令中的哪个。任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:1)

路径!

第一个正在从XCode运行/usr/bin/gcc,它给出了GCC 4.2.1版本。第二个是从brew的安装版本运行版本。您需要修复PATH,以便将Brew(HomeBrew)bin目录放在/usr/bin之前的PATH中。我think就是/usr/local/bin,但是您的位置可能不同。 (我倾向于将东西安装在奇怪的位置;引用/usr/local/Homebrew/bin/usr/local/Cellar可能对您没有帮助。)

无论安装了什么位置,请确保该目录位于PATH目录之前的/usr/bin上。这可能涉及再次入侵~/.profile~/.bashrc文件,具体取决于您的设置方式。如果您使用tcsh,则需要编辑的将是~/.login~/.cshrc

您可能还会发现/usr/libexec/path_helper有帮助;请查看它的手册页(man path_helper),以了解如何修改其默认配置。请谨慎操作,进行备份和测试(bash -l以模拟登录)。