Установка более старой версии gcc@9.3.0 с помощью варева?

#c #c #macos #gcc #homebrew

Вопрос:

Я хотел бы установить gcc версии 9.3.0 на свой Mac Os Big Sur. Мне было интересно, смогу ли я сделать это все еще с помощью brew?

У меня уже есть самая современная версия brew, но я хотел бы, возможно, понизить рейтинг или добавить gcc v9.3.0.

Я последовал трем приведенным ниже командам

brew tap-new $USER/local-gcc

brew extract --version=9.3.0 gcc $USER/local-gcc

brew install gcc@9.3.0

но когда я это сделаю

brew info gcc

он все еще говорит, что у меня есть v10.2.0. Есть ли способ переключаться между различными версиями? Насколько я могу судить brew switch , сейчас он сломан.

Если есть другой способ получить работающий gcc v 9.3.0, который вы можете порекомендовать, я тоже буду рад попробовать. Заранее спасибо.

ИЗМЕНИТЬ: У меня есть самая последняя версия gcc на моей машине Mac OS Big Sur brew install gcc , но теперь я хотел бы иметь gcc@9 ее в дополнение или вместо нее. У меня есть gcc@9 , /usr/local/Cellar/gcc@9/9.3.0_1 но я не могу найти способ, чтобы моя система использовала это, а не gcc10 . Когда я это делаю brew ls --versions gcc , он все равно возвращается gcc 10.2.0_4 .

Комментарии:

1. Вам следует взглянуть на каталог, в котором установлены двоичные файлы HomeBrew. Для большинства целей имя gcc будет ссылаться только на первый скрипт или двоичный файл (или символическую ссылку на скрипт или двоичный файл) на вашем ПУТИ. Если вы хотите gcc сослаться на конкретную версию, вам нужно будет убедиться, что соответствующий скрипт или двоичный файл указывают на нужную вам версию. Я устанавливаю свои домашние версии GCC в /opt/gcc/v9.3.0 или /opt/gcc/v10.2.0 (где я не обязательно рекомендую их использовать v , но это все равно то, что я делаю). Затем я настраиваю свой ПУТЬ, чтобы сначала указать правильный каталог bin.

2. @JonathanLeffler Спасибо. gcc@9 /usr/local/Cellar/gcc@9/9.3.0_1 включен . Вы имели в виду , что мне нужно только поместить export PATH=$PATH:/usr/local/Cellar/gcc@9/9.3.0_1 , скажем, в верхней части моего .zshrc?