概要
GitHub Actionsでは、2022年9月22日から9月26日にかけて、homebrewが環境変数$PATHから削除されます。
この破壊的変更により、GitHub Actions内でbrew
コマンドを叩いている場合、CIが以下のエラーメッセージで失敗するようになります。
エラーメッセージ
/home/runner/work/_temp/bacce9a5-0e37-4d3c-a643-8cb0288c4770.sh: line 1: brew: command not found
Error: Process completed with exit code 127.
この変更はUbuntu 18.04 / Ubuntu 20.04 / Ubuntu 22.04にのみ影響します。
どうもhomebrewのアップデートでgcc関連の依存関係が新しく入るようになり、元からインストールされていたコマンドと$PATHの内容が競合してしまうため、
homebrewを$PATHから削除したようです。
対処法
対処法1:別のパッケージマネージャーに切り替える
aptなどの別のパッケージマネージャーが使える場合は、そちらを使ってみることを検討しましょう。
- - run: brew install <package-name>
+ - run: sudo apt-get install -y <package-name>
対処法2:手動でパスに追加する
今回の変更は単に「環境変数$PATHからbrewが削除されるだけ」なので、手動でパスを通してやれば再びbrew
コマンドが使えるようになります。
+ - run: echo "/home/linuxbrew/.linuxbrew/bin:/home/linuxbrew/.linuxbrew/sbin" >> $GITHUB_PATH
なお、詳しい対処法はこちらのコメントに書いてあります。
まとめ
- 2022年9月より、GitHub ActionsのUbuntuイメージ内では、homebrewが使えなくなります。
- 使えなくなるといっても環境変数$PATHから削除されるだけなので、workflowファイル内にパスを通すコードを追記すれば、元のように使うことができます。