M1 Mac で Mavenをインストール
結論:このとおりにやれば M1 Mac で Mavenをインストールできる
(注)上から順位に実施すること。
1. Homebrewをインストールする
2. Xcode CLT をインストールする
以下のコマンドを打てばよい。
xcode-select --install
3. gcc をインストールする
Homebrew と Xcode CLT がインストールされている状態で、以下のコマンドを打てばよい。
brew install gcc
4. maven をインストールする
gcc がインストールされている状態で、以下のコマンドを打てばよい。
brew install maven
5. 動作確認してみる
mvn --version
以上のように、ちゃんとインストールできていれば終了。
以下、試行錯誤した際の過程をメモ
まずは何も考えず以下のコマンドで、HomebrewでMavenをインストールしてみる。
brew install maven
すると、以下のように怒られてしまった。
どうやら、gccを先に入れないといけないらしい。おそらく、Mavenをインストールする過程で、ソースからビルドしてインストールするものがあるらしく、そのときにgcc が必要みたい。
そこで、何も考えず、以下のコマンドで gccをインストールしようとしてみる。
brew install gcc
これでもエラーが出た。
「ソースからgcc をビルドしてみてほしい」と言われている。
そして、それはbrew install --build-from-source gcc
というコマンドを実行するとできるが、ソースからビルドすることは unsupported と言われてしまっている。
もう一つ気になるのはこの記述。
bottle とは Homebrew においてビルド済みのバイナリファイルをtar.gz で圧縮した状態のものを意味する。
brew install
では bottle がリポジトリに存在すればそれをインストールするし、存在しなければソースからビルドしたあとにインストールする、という動きになる。詳しくはこちらに書いた。
そして、どうやら gcc は Xcode CLT(Command Line Tools) がないと、bottleからインストールすることができないらしい。したがって、以下のコマンドで、Xcode CLT をインストールする。
xcode-select --install
Xcode CLTが入った状態で、以下のコマンドを打ったら、gcc をインストールできた。
brew install gcc
=========== ここから考察 ===========
gcc をインストールするために Xcode CLT が必要な理由は、gcc が gmp, isl, mpfr, libmpc といったツールに依存しており、これを先にインストールしないといけない(Homebrewやyum, aptのようなパッケージ管理システムの場合、自動で依存ツールをインストールしてくれるはず)。
で、おそらくこれらの依存ツールのインストールする際に、ソースからビルドするものがあるのだと思う。
=========== ここまで考察 ===========
最後に以下のコマンドを実行したら、Mavenがインストールできた。
brew install maven