Homebrewでgccのバージョンを上げシンボリックリンクを貼り直す - 3月 08, 2021 こんにちは、ぐぐりら(@guglilac)です。 Homebrewでgccをアップデートしたのですが、古いバージョンの方が使われたままになってしまっていた問題に対処したので、備忘録としてメモを残します。 gcc 10.2.0を入れたはずが、バージョン5を使っているという状態でした。 早速ですが、homebrewは ``` brew install gcc ``` とするとgccを`/usr/local/Celler/`にインストールし、``/usr/local/bin/``にリンクを作ります 下のコマンドを叩いて ``/usr/local/bin`` の配下にあるシンボリックリンクのうち、gccという名前のついたものを見てみると、gcc-10というのがいます。これがhomebrewがインストールしてくれた10.2.0のシンボリックリンクです。 ``` ls /usr/local/bin | grep gcc ``` 今回使いたいバージョンのgccを指しているシンボリックリンクは `/usr/local/bin/gcc-10`なので、gccコマンドを打った時にこれが使われるようにします。 自分のPATHを見てみると既に /usr/local/binが/usr/binよりも左側にいるので、/usr/local/bin/gcc-10を参照する/usr/local/bin/gccというシンボリックリンクを作ると、こちらを優先して使ってくれます。 ``` ln -s /usr/local/bin/gcc-10 /usr/local/bin/gcc ``` (補足) > 自分のPATHを見てみると既に /usr/local/binが/usr/binよりも左側にいる こうなってない場合は、パスを通します ``` export PATH=$PATH:/usr/local/bin ``` ``` $ which gcc /usr/local/bin/gcc ``` となり、homebrewで入れた方のgccを使ってくれていることがわかります。 ちなみに`-a`をつけると全て列挙してくれるので、元から入っていたgccも確認できます(/usr/bin/gccはxcodeに付属しているもの?) ``` $ which -a gcc /usr/local/bin/gcc /usr/bin/gcc ``` `gcc -v` とすると、無事`gcc version 10.2.0 (Homebrew GCC 10.2.0_4)`と出ます。 /usr/local/bin/gcc -> /usr/local/bin/gcc-10 -> /usr/local/Cellar/gcc/10.2.0_4/bin/gcc-10 という参照関係になっていたんですね。 (最初homebrewでgccのバージョンをあげても前のバージョンを使い続けていたのは、/usr/local/bin/gcc -> /usr/local/bin/gcc-10のリンクが変わっていなかったからですかね) この記事をシェアする Twitter Facebook Google+ B!はてブ Pocket Feedly コメント
コメント
コメントを投稿