Почему эти две команды дают разные версии gcc на моем Mac? - PullRequest
0 голосов
/ 22 марта 2019

Я установил gcc на Mac High Sierra (так как он нужен для некоторых программ, которые мне нужны). Меня попросили проверить, был ли обновлен мой 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 Ответ

1 голос
/ 22 марта 2019

ПУТЬ!

Первый работает /usr/bin/gcc из XCode, который дает версию GCC 4.2.1. Второй - это версия, из которой brew устанавливает ее. Вам нужно исправить свой PATH так, чтобы каталог Brew (HomeBrew) bin находился в вашем PATH до /usr/bin. Я думаю это /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 для имитации входа в систему).

...