M1 MacにHomebrewでJavaをインストールしたい

雑記

先日めっちゃ分割払いでM1 Macを購入したのですが、Javaをインストールしようとして思いのほかつまずいたので忘備録を残しておきます。(M1・M2の情報が錯綜していました。。)

Homebrewの前にXcodeをインストールする

※「M1・M2ならRossetaを使用する」とか書いてるのは古い情報です!!

Homebrewって何やねんって感じですが、バージョン管理ソフトって事らしいです。Mac使うなら全員入れるらしいので入れておきます。

ただ、コマンドライン(ターミナル)で操作しなきゃなので、初心者には少し抵抗があります。クリックで操作できるものを所望します。。

Homebrew
The Missing Package Manager for macOS (or Linux).
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

インストールって書いてあるところのコードをコピーして、ターミナルに貼り付けてEnterを押したらパスワードをもとめられるので、MacBookのログインパスワードを入力します。

すると、

==> This script will install:
/opt/homebrew/bin/brew
/opt/homebrew/share/doc/homebrew
/opt/homebrew/share/man/man1/brew.1
/opt/homebrew/share/zsh/site-functions/_brew
/opt/homebrew/etc/bash_completion.d/brew
/opt/homebrew

Press RETURN/ENTER to continue or any other key to abort:

おそらくこんな表示が出るので、もう一度Enterを押すとインストールが始まります。が、ちょっと待ってください!!

というのも、買いたてのMacにインストールする場合、途中で止まります!

正確には止まるのではなく、XcodeのCommand line toolsのダウンロードに時間がかかって止まった感じになります。6GBとかあるのでめっちゃ時間が掛かるようです。

なのでHomebrewの前に、

xcode-select --install

ターミナルに先に上記コードでXcodeをインストールした方が精神衛生上よきよきです。

↓同じような初心者が同じようにつまずいていて、テラテイルに質問が上がっていました。

Homebrew のインストール中、途中で止まってしまう
Homebrewサイト サイト内に記載されているコマンド入力 `/bin/bash -c "$(curl -fsSL

Homebrewをインストールする

Xcodeをインストール後、上記の通りHomebrewをインストールしていきます。

うまくいけばインストールが完了し、下記のような表示が出ると思います。

==> Next steps: の下の1つ目、

– Run these three commands(この3つのコマンドを実行してね)と書いてあるので、一つずつ実行していきます。(コマンドが2つの場合とかもあるっぽいです)

echo 〜(eval 〜)のところを1行ずつコピペしてEnterしていきます。

(Enterを押しても特に反応はないですが、進めていって大丈夫です。)

その後、インストールできているか確認のため、

brew -version

と入力して、下記のようにバージョン情報が表示されればOKです!

Javaをインストールする

ここもややこしくて辛いのですが、Javaというのは色んな会社が提供しているらしく、ライセンスも色々あるようで、、、ここはもう脳死でOpenJDKというのを導入することにします。(Oracleが提供しているやつの方が良くない?とも思いましたが、ライセンスに縛りがあるようですので。)

Homebrewを使ってインストールするので、ターミナルに下記のコードを打ちます。

brew search openjdk

すると、現在インストール可能なOpenJDKなJavaが表示されるので、新しそうなopenjdk@17をインストールすることにします。

==> Formulae
openjdk      openjdk@11   openjdk@17   openjdk@8    openj9       openvdb

インストールの前に、一旦openjdk@17の情報を確認するため、下記コードを打ちます。

brew info openjdk@17

なんか色々書いていますが、[keg-only]というのは、インストールのみでシンボリックリンクを作成しないという事らしいです。うーん、正直ちょっと難しい。。調べても初学者にはイマイチ理解しきれませんでした。とりあえずそういう事だと把握しておいて、インストールを進めます。

brew install openjdk@17

しばらくするとインストールが完了して、keg-only がどうとか言ってきます。

1番上の行で、シンボリックリンクはこれだと言っているぽいので、言われるままに

sudo ln -sfn /opt/homebrew/opt/openjdk@17/libexec/openjdk.jdk /Library/Java/JavaVirtualMachines/openjdk-17.jdk

上記を実行して、シンボリックリンクを作成します。

パスワードを求められるので、MacBookのログインパスワードを入力します。

(ここもEnterを押しても特に反応はないですが、進めていって大丈夫です。)

続けて、パスを通すために、echo 〜と、export 〜の行もそれぞれコピペして実行します。これも反応ないやつですが大丈夫です。

echo 'export PATH="/opt/homebrew/opt/openjdk@17/bin:$PATH"' >> ~/.zshrc
export CPPFLAGS="-I/opt/homebrew/opt/openjdk@17/include"

その後、インストールできているか確認します。

java -version

openjdk version “17.0.6” 2023-01-17 と表示されているので、無事にインストールが完了しました。

ということで、やっとM1 MacBookでJavaの教科書を進めていけます!

気のせいかもしれませんが、検索してもMacのこういう初心者向けの記事は少ないように感じました。

とりあえず自分向けに忘備録として色々残しておこうと思います。Qiitaとかイマイチ馴染めないけどそっちに上げるべきな気もしますが。