Apple SiliconでHomebrew

Apple Silicon のMac を入手したのでHomebrew を使えるようにします。
Mac は、M1 ProチップのMacBook Pro です。

Homebrew とは

Homebrew

macOS 向けのパッケージ管理ソフトです。
いわゆる、Mac でソフトウェアのインストールやアンインストールをCLI でできるようにするツールです。

Homebrew のシステム要件

Homebrew の公式サイトに下記の記載がありました。

macOS Requirements
macOS Requirements

日本語にすると、下記のような感じです。

  • 64ビット Intel CPUまたは Apple Silicon CPU
  • macOS Catalina (10.15) 以上
  • Command Line Tools for Xcode または Xcode
  • Bourne-again shell (bash) ※インストールで使う

1つ目のハードウェア要件と2つ目のOSの要件は満たしているのでOK。
3つ目は、事前にインストールが必要で、
4つ目は、ワンライナーのインストールコマンドの実行で必要

ということで、まずは4つ目が簡単にできるので、bash が使えるかを確認します。

bash の確認

bash が使えるか確認します。

cat /etc/shells | grep bash
> /bin/bash
which bash
> /bin/bash

bashはインストールされていてパスも通っているので問題なさそうです。

ついでにデフォルトシェルが何か確認しておきます。

echo $SHELL
> /bin/zsh

bashではなくzshでした。
インストールコマンドを見てみると、bashをパス指定(/bin/bash)で実行しているので、デフォルトシェルではなくても問題ないです。

Command Line Tools for Xcode または Xcode について

どちらか一方をインストールすればよいみたいですが、実際にはXcode をインストールした場合も、Command Line Tools for Xcode(以下、CLT) のインストールは必要でした。

Xcode にCLT が内包されていると書いてるブログもあったのですが、実際にはXcode をインストールすると自動的にCLTもインストールされるという訳ではなかったです。

今回、Xcode だけをインストールした状態でHomebrew のインストールコマンドを実行したのですが、インストールの最初の方でCLT をインストールするか質問され、拒否するとインストールが中断されてしまいました。

質問で拒否しなければ、CLT のインストールが始まりHomebrew のインストールが継続して行われますが、事前にインストールしておけば質問自体がされないのではないかと思われます。

Command Line Tools for Xcode と Xcode のサイズ比較

何も考えずに大は小を兼ねる程度の感覚でXcode をインストールするというのはちょっと雑なので、それぞれのサイズを比較してみました。

Apple Developer のサイトでサイズが確認できました。

Xcode
Xcode
Command Line Tools for Xcode
Command Line Tolls for Xcode
  • Xcode (10.1 GB
  • Command Line Tools for Xcode (564.48 MB

ファイルの形式が違うので単純に比較できませんが、随分と差があります。両方ともサイズが圧縮される形式ですが、Xcode はCLT の18倍くらいあります。

ちなみに、Xcode のダウンロードしたファイル Xcode_13.2.1.xip から展開されたアプリケーションファイルは32GB ありました。

Xcode は使わないし端末のストレージ容量を無駄に使いたくない、というのであれば、CLT のみインストールした方がよいかもしれません。

Xcode のインストール

今回、Xcode をインストールしてから、Homebrew をインストールすることにしました。

※ Xcode をインストールしない場合は、この章はスキップして、次の「Command Line Tools for Xcodeのインストール」からになります。

Xcode のインストール方法

調べてみると、下記の2つの方法がありました。

  • Apple Developer でファイルをダウンロードしてインストール
  • App Store から直接インストール

後者は、自動アップデートを個別に制御できないようなので、前者の方法でインストールすることにしました。
あと、後者はインストールに時間がかかるや途中で止まったという評価が幾つかあったので、ちょっと不安になったというのもあります。実際やってみないとなんとも言えませんが。。

以下、Apple Developer でファイルをダウンロードしてインストールする手順を記載します。

Apple Developer でファイルをダウンロード

Apple Developer のダウンロードページにアクセスし、自身のApple ID でログインします。

検索窓で”Xcode” と入力して抽出された中から最新のXcode を探します。
古いバージョンやBeta版もあるので注意

Xcode
Xcode

ダウンロードするXcode が見つかったら、青字の[↓ Xcode 13.2.1.xip]をクリックしてxipファイルをダウンロードします。

ダウンロードしたファイルを展開してインストール

ダウンロードしたファイルはxip 形式のアーカイブファイルなので、アーカイブユーティリティを使って展開します。

Xcodeダウンロードファイル

xipファイルと同じフォルダにアプリケーションファイルが展開されるので、アプリケーションにドラッグ&ドロップしてインストールします。

これでXcode のインストールは完了です。

Command Line Tools for Xcodeのインストール

Xcode をインストールしない場合はこちらの「Command Line Tools for Xcodeのインストール」を行います。

ただ、このタイミングでCTL をインストールしなくても、次の「Homebrewのインストール」の途中でインストールできるので、この章もスキップしてもよいかもしれません。

今回、私はXcode をインストールした後にHomebrew をインストールしたので、ここの手順は行わなかったです。

Command Line Tools for Xcode のインストール方法

調べてみると、下記の2つの方法がありました。

  • Apple Developer でファイルをダウンロードしてインストール
  • ターミナルで以下のコマンドを実行してインストール
xcode-select --install

前者は、ダウンロードするファイルがdmg ファイルなので、ダブルクリックで普通にインストールできそうなので、説明は省略します。

なお、Xcode を起動してメニューの[XCode] > [Open Developer Tool] > [More Developer Tools…] をクリックすると、ブラウザが起動してApple Developers のダウンロードページが開きました。
Xcode の画面操作でCLT をインストールできる訳ではなかったです。

Homebrew のインストール

Homebrew のウェブサイトのトップページにアクセスします。

トップページにワンライナーのインストール用のコマンドが掲載されているので、コマンドをコピーします。

Homebrewインストールコマンド
インストール用のコマンド
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

コマンドのテキストを参考のために掲載しましたが、実際にインストールを行う際は、こちらではなくウェブサイトに掲載されているコマンドをコピーしてください。

ターミナルを起動して、コピーしたコマンドをペーストしてコマンドを実行します。
コマンドを実行すると、以下のように処理が進められます。

1. パスワードの入力

==> Checking for `sudo` access (which may request your password)...
Password:

パスワードの入力が求められるので、端末のログインパスワードを入力します。
Apple IDのパスワードではない

2. Command Line Tools for Xcodeのインストール

==> The Xcode Command Line Tools will be installed.

Press RETURN to continue or any other key to abort:

CLT をインストールするか、インストールを中断するか、選択が求められので選択します。
※ 前述「Command Line Tools for Xcodeのインストール」でCLT をインストールしていた場合、この確認は求められないと思われます。

  • Enterキー
    • CLT をインストールする(Homebrew のインストールを継続する)
  • Enterキー以外
    • Homebrew のインストールを中断する

Enterキーを押下すると、CLT のダウンロードが始まり、そのままCLT とHomebrew のインストールが続けて行われます。

Homebrew のインストールが完了すると、下記のようなメッセージが表示されます。

ターミナル(Installation successful)
ターミナル(Installation successful)

3. Homebrew フォルダにパスを通す

インストール完了のメッセージに、/opt/homebrew/bin にパスが通っていないので指定したコマンドを実行するようにと記載があります。
言われた通り、指定されたコマンドをターミナルで実行します。
※ コマンドの”xxx” の箇所はユーザ名です

echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> /Users/xxx/.zprofile
eval "$(/opt/homebrew/bin/brew shellenv)"

上記のコマンドを実行後、以下のコマンドでbrew コマンドにパスが通っているか確認します。

which brew
> /opt/homebrew/bin/brew

brew コマンドのパスが通っていました。

4. Homebrewの動作確認

Homebrew が問題なく動作するかを確認するコマンドを実行します。

brew doctor
> Your system is ready to brew.

正常に動作していることが確認できたので、これでHomebrew のインストールは完了です。

Homebrew を使う

Homebrew を使って1Password をインストール

Homebrew のスポンサーである、1Password をインストールしてみます。

Homebrew のウェブサイトのパッケージを検索するページがあります。
※ トップページの検索窓でも検索できますが、パッケージ以外の情報も検出されるので、ここではパッケージのページで説明します。

パッケージの検索画面
パッケージの検索画面

検索窓に薄い色で”Search Homebrew Formulae” と表示されています。
“Formulae” はHomebrew が扱うパッケージのことです。

今回、1Password を探すので、”1password” と入力します。

1password検索

すると、入力したキーワードで検出されたパッケージが表示されるので、今回インストールする1password を選択すると、下記の1Password のパッケージのページが表示されます。

1Passwordのページ
1Passwordのページ
brew install --cask 1password

1Password をインストールするコマンドが記載されているので、コマンドをコピーしてターミナルに貼り付けてコマンドを実行します。

1Password のインストールが完了すると、下記のようなメッセージが表示されます。

ターミナル(successfully installed)
ターミナル(successfully installed)

インストール完了メッセージに、/Application/1Password 7.app にインストールしたと表示されています。

Finder でアプリケーションフォルダを見ると、1Password のアイコンがありました。

1Passwordアイコン
Finder > アプリケーション

GUI アプリのインストールが、1つのコマンドをコピー&ペーストするだけでできるようになりました。
インストール完了です。

その他、参考情報

とりあえず、よく使いそうなコマンドを掲載しておきます。

# Homebrewの動作確認
brew doctor

# Homebrewのバージョンを表示
brew --version
brew --v

# Homebrewのシステム構成を表示
brew config

# インストール済みパッケージ一覧の表示
brew list
brew ls

# パッケージの検索
brew search <keyword>
brew -S <keyword>

# パッケージのインストール
brew install <package-name>

# パッケージのアンインストール
brew uninstall <package-name>

# Homebrew本体のアップデート、インストール可能なパッケージ一覧の更新
brew update

# アップデート可能なパッケージをアップグレード
brew upgrade <package-name>

# インストールの統計情報を表示
brew info

# インストールしたパッケージの統計情報を表示
brew info <package-name>

# サブコマンドの表示
brew

# コマンドの一覧を表示
brew commands

# コマンドのヘルプを表示
brew help <command>

あとがき

GUI のソフトウェアのインストールが、ファイルをダウンロードして、ダウンロードしたファイルを開いてアイコンをアプリケーションフォルダにドラッグ&ドロップする、という方法より断然楽になりました。

ソフトウェアのインストールは基本的にHomebrew を使う、というように一元管理すれば、OSをクリアインストールして環境を再構築するのもそれほど苦にはならなそうです。

Mac を買ったら一番最初にインストールしておきたいソフトウェアです。

参考