【開発者必見】簡単に始める!Mac開発環境の設定ガイド:Sdkman、brew、asdfの使い方

株式会社テイクーワンのOです。
macOSで、開発環境を整えるための定番ツールを紹介します。

対象読者

  • 初心者~熟練開発者まで、すべてのmacユーザーの方

確認した環境

  • MacBook Pro(Apple Silicon)
  • macOS: Ventura 13.4

主な確認は上記環境で行なっていますが、Intel Macでも利用できることを確認しています。

紹介するツールの公式サイト

  1. sdkman (https://sdkman.io/)
  2. brew (https://brew.sh/)
  3. asdf (https://asdf-vm.com/)

それぞれ重複した機能もありますが、私の場合、基本的な開発関連ツールならsdkman、言語の導入ならasdf、通常のOSSの導入ならbrewといった役割分担をしています。

sdkman

https://sdkman.io/
JVM環境のパッケージ管理ツール。
私の場合は主に、基本的な開発関連ツールを導入する手段として利用しています。
そんなsdkmanですが、コマンド名は「sdk」です。

sdkmanの導入

公式(https://sdkman.io/)で、導入用のワンライナーをコピーし、ターミナルへ貼り付け実行します。
※macまたは、Linuxで実行できます。

$ curl -s "https://get.sdkman.io" | bash

導入可能なツールの確認

$ sdk list

sdkmanで導入したもの一例

  • sdk install ant
  • sdk install maven
  • sdk install gradle
  • sdk install groovy

導入可能なツールのバージョンを確認する

gradleのバージョンを確認する場合

$ sdk list gradle

バージョン指定して導入する

gradleの特定バージョンを導入する場合

$ sdk install gradle 7.6.1

バージョン指定して削除する

gradleの特定バージョンを削除する場合

$ sdk uninstall gradle 7.4.2

現在利用しているツールのバージョン確認

gradleのバージョンを確認する場合

$ sdk current gradle

Using gradle version 7.6.1

brew (Homebrew)

https://brew.sh/
Linux/macで利用可能な、パッケージ管理ツール。
標準で用意されていないCLIツールを各々の手順で導入すると、セキュリティ更新や導入したツールを忘れ、環境を汚しがちです。
私の場合は主に、brewを有用なCLIツールを導入する手段として利用しています。
公式で、言語を日本語に設定すれば主な解説が見られます。

brewの導入

公式で導入用のワンライナーをコピーし、ターミナルへ貼り付け実行します。
macまたは、Linuxで実行できます。

$ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

brewでのCLIツールの導入

CLI関連のツールで導入したいものがあれば、Googleで「brew install ツール名」と検索します。
大抵のものは導入できると思います。

brewで導入したもの一例

  • brew install awscli
  • brew install mysql
  • brew install redis
  • brew install postgresql
  • brew install checkstyle
  • brew install hexedit
  • brew install nkf
  • brew install yq
  • brew install jq
  • brew install expect

brewで導入したものの確認

$ brew list

brewで導入したものを更新

セットで実行しています。

$ brew update
$ brew upgrade
  • brew update
    Homebrewのみをバージョンアップする
  • brew upgrade
    インストール済のパッケージも更新する

brewで導入されるパスの確認

実行結果は、Intel macApple Silicon macで異なります。

$ brew --prefix

asdf

https://asdf-vm.com/
javaなど複数のバージョンを共存させたい場合、asdfが便利です。
brewでも導入可能ですが、ディストリビューションごとに導入方法が異なるので、私はasdfを使用しています。

asdfの導入

導入は、brew(Homebrew)を使います。

$ brew install asdf

asdfでのツール導入は、プラグインを介して行います。
利用できるプラグイン(javaなど)の確認は、以下のようにして行います。

$ asdf plugin list all
$ asdf plugin list all | grep java

実行例

$ asdf plugin list all | grep java
java  *https://github.com/halcyon/asdf-java.git

Javaの導入

javaプラグインの導入
先の手順でjavaプラグインの情報が表示されましたので、「asdf plugin add」に続きjavaプラグインの情報を記述します。

$ asdf plugin add java https://github.com/halcyon/asdf-java.git

利用できる言語(java)のバージョンの確認
「asdf list-all java」では、あまりに多くの情報が表示されます。
2行目の例ではディストリビューション「temrin」の「Java11」か「Java17」、且つ「jre」(Java Runtime)を除きリスト表示します。

$ asdf list-all java
$ asdf list-all java | grep "temurin" | grep -e "-11" -e "-17" | grep -v "jre"

javaのインストール

$ asdf install java temurin-17.0.7+7
$ asdf install java temurin-11.0.19+7

言語のバージョンの切り替え
「asdf list java」で導入されているjavaのバージョンを確認後、「asdf global」で使用するバージョンを決定します。
※通常使用するJavaを「Java17」にする場合。

$ asdf list java
$ asdf global java temurin-17.0.7+7

Java11の場合は、「asdf global java temurin-11.0.19+7」とします。

ご使用のシェルがzshの場合は、~/.zshrcの最後に以下の文を入れておくと、JAVA_HOMEが自動セットされます。

precmd() {
    export JAVA_HOME="$(asdf where java)"
}

簡単に切り替えできるよう以下のエイリアスを切っておくと、シェルの再起動も自動化できます。
「java11」でjava11が、「java17」でjava17が使用可能になります(シェルの再起動でJAVA_HOMEもセットされます)。
~/.zshrcに追記します。
Javaのバージョン更新時は、書き換えを行なってください。

alias reload='(){exec $SHELL -l}'
alias java11='(){asdf global java temurin-11.0.19+7;   java -version; reload}'
alias java17='(){asdf global java temurin-17.0.7+7;    java -version; reload}'

次へ

Outlookのメーリングリストとして使用するMicrosoft365の配布グループへの参加や脱退を自分で行う方法は?