Homebrewのインストール方法と基本操作のコマンド。
macOS用のパッケージマネージャーのHomebrewのインストール方法と、基本的な操作コマンドのチートシート。忘れるのでメモ。
[ パッケージ ]
何らかの機能を持ったプログラム(コマンドラインツールやアプリケーションなど)を構成するファイル群(実行ファイル、設定ファイル、ライブラリーなど)を集約して、インストールやアンインストールなどができるように1つにまとめたもの。
[ パッケージマネージャー ]
パッケージのインストール、バージョンアップ、アンインストール、ひとつのパッケージの動作に他のパッケージやライブラリーが必要な場合の自動インストールやその依存関係やバージョンの管理など、パッケージの扱いに関する処理を実行して一元管理するシステム。
Homebrewとは
macOS用のパッケージマネージャー。
- macOSにデフォルトではインストールされていないCUI(Character User Interface)のソフトウェアのインストールやバージョン管理が簡単になるので、広く利用されている。
- 通常のGUI(Graphical User Interface)アプリケーションもbrewコマンド(「–cask」オプション指定)で簡単にインストールできる。(インストールされるアプリケーション自体は、公式サイトなどからdmgファイルをダウンロードして手動でインストールした場合と全く同じ。)
※ Homebrewの公式サイト。
※ HomebrewのGithub上のリポジトリ。
Homebrewのインストール方法
Homebrewのインストールには、Appleがリリースしている開発ツールアプリケーションの「Xcode」が必要。(事前にXcodeがインストールされていない場合はHomebrewのインストール時にXcodeもインストールされる。)
(1) Homebrewのインストール方法
- Homebrewの公式サイトのトップページへ行く。
- 「Install Homebrew」直下にあるインストール用のスクリプトをコピー。
- コピーしたスクリプトをターミナルに貼り付けて実行。
- sudoコマンドの実行に権限が必要なのでMacのログインパスワードを入力。
- Homebrewのインストールが開始される。
- イントールが完了すると「==> Next steps:」というセクションの記述がターミナルに表示されるので、コマンドの行をコピペして実行。(パスを通す作業。)
[1.1 この記事の記述時で公開されているインストールのスクリプト ]
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
/bin/bash : bashのファイルパスを指定してシェルにbashを指定。オプション「-c」で、引数の文字列をコマンドとして実行させる。
$(文字列) : 中の文字列内にあるコマンドを実行し、展開して出力する。「“」(バッククォート)とほぼ同じ機能だが、「$()」は、「$(文字列 $(文字列))」のようにネストできるなど、より高機能。
curl : HTTPリクエストしてコンテンツを取得するコマンド。オプション「-f」で、HTTPリクエストのエラーを表示させない。オプション「-s」で、サイレントモードになり、ダウンロードの進捗状況やエラーメッセージなど何も表示させない。オプション「-S」(「-s」と併用)で、エラーは表示させる。オプション「-L」で、リダイレクトを許容する。
sudo -u ユーザー コマンド : 指定した別のユーザー権限で指定したコマンドを実行。ユーザーの指定(「-u ユーザー」)を省略するとroot権限で実行。
[1.2 インストール完了後にターミナルに表示される記述 ]
ここで指定されているコマンドを順番に自分でコピペして実行する。
- 「.zprofile」ファイルに空行(改行)を追加。(「.zprofile」ファイルは、存在しなければリダイレクトコマンドで自動生成される。)
- 指定した文字列を「.zprofile」ファイルの記述に追加。(Homebrew用の環境変数とパスを設定。)
- 記述内容と同じコマンドを即実行してHomebrewを反映させる。(再起動するなら不要。)
※ 「.zprofile」ファイルの記述内容はシェル起動時に読み込まれて実行されるので、Homebrewのパスが通るようになる。
==> Next steps:
- Run these commands in your terminal to add Homebrew to your PATH:
echo >> /Users/「ユーザー名」/.zprofile
echo 'eval "$(/opt/homebrew/bin/brew shellenv zsh)"' >> /Users/「ユーザー名」/.zprofile
eval "$(/opt/homebrew/bin/brew shellenv zsh)"
- Run brew help to get started
- Further documentation:
https://docs.brew.sh
echo 文字列 : 標準出力。指定した文字列の末尾に改行(\n)を付与して標準出力(画面に表示)する。変数を指定(「$変数名」)した場合はその変数の中身が標準出力される。引数が無ければ、空行(改行)が出力される。
>> ファイルのパス : アペンドリダイレクト。標準出力の出力先を指定したファイルに変更して追記。指定ファイルが存在しなければ作成。(「>」は上書き、「>>」は最後の行に追記。)
eval 文字列 : 指定した文字列の中身を解釈してコマンドとして即実行。
shellenv : brewコマンドのサブコマンド。Homebrewに必要な環境変数を設定するためのexport文のリストを標準出力する。(ここでは引数に「zsh」を指定して実行するシェルを指定。)
(2) Homebrewのアンインストール方法
Homebrewをアンインストールすると、Homebrewでインストールしたパッケージも同時にアンインストールされるので注意。
[ アンインストール方法 ]
公式サイトのアンインストールの説明に記載されているアンインストール用スクリプトのリポジトリ(リンク先)に行き、スクリプトをコピーしてターミナルで実行する。
※ 下記はこの記事の記述時で公開されているアンインストールのスクリプト。
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/uninstall.sh)"
Homebrewの概要
Homebrewでは、パッケージを「Homebrew = 自家醸造ビール」に喩えて、パッケージを「brew = 醸造する」という考え方に則した用語が使われている。
※ Homebrewは、すべてGitとRubyで動作している。
Homebrewの用語
※ 詳細は公式サイトのマニュアルページ。
- formula (製法)
公開されているソースを基にビルドしたHomebrew用のパッケージの中身を定義しているもののこと。
(Homebrewがパッケージとしてインストール・構築するためのRubyスクリプトのファイル。) - cask (樽) : 炭酸ガスを使わずに樽の蛇口から注ぐビール(天然発酵の炭酸のみ)をカスクビールと呼ぶ。
macOSのネイティブアプリケーションのHomebrew用のパッケージの中身を定義しているもののこと。
(mac用のGUIアプリケーションなどを、Homebrewがパッケージとしてインストールするためのスクリプトファイル。) - keg (樽) : 炭酸ガスを注入した圧力で樽から注ぐビールをケグビールと呼ぶ。
formulaによって生成されたパッケージのバージョンごとのインストール保存先となるディレクトリのこと。(例: /usr/local/Cellar/foo/0.1) - rack (棚)
kegを管理保管するためのディレクトリのこと。通常はパッケージ名でのディレクトリ。(例: /usr/local/Cellar/foo) - cellar (貯蔵室)
rackを管理保管するためのディレクトリのこと。(例: /usr/local/Cellar) - caskroom (カスク部屋)
caskを管理保管するためのディレクトリのこと。(例: /usr/local/Caskroom) - tap (蛇口)
formula、caskがあるディレクトリのこと。(通常はGitのリポジトリ。) - bottle (ボトル)
公開ソースからビルドする代わりに、cellarやrack内でビルドされているkegのこと。
パッケージのインストールの流れ
- パッケージの「formula」を指定してインストールを実行。(「brew install formula名」のコマンドを実行。)
- 「formula」が保持しているスクリプトに従ってパッケージが自動的にインストール(ビルド)され、「cellar」内の「rack」や「keg」に保存される。
- インストールされたパッケージの実行ファイルのエイリアス(シンボリックリンク)も自動的に「/usr/local/bin」ディレクトリに生成される。
- 「/usr/local/bin」ディレクトリはデフォルトでパスが通っているので、インストールと同時にエイリアスによってパッケージを実行できる状態になっている。
※ 「パスが通っている」とは、「そのコマンドの実行ファイルの場所(ディレクトリ)」がシェルに設定(認識)されている状態のこと。(パスが通っていないと、実行ファイルの場所が分からないので、コマンドを実行してもエラーになる。)
Homebrewの基本操作コマンド
公式サイトのコマンド一覧。
Homebrewのコマンド(「brew」コマンド)の基本的な記述方法。
brew [サブコマンド] [オプション] [formula名]
「brew」コマンドのマニュアルを表示。
man brew
Homebrewの現在のバージョン確認。(オプション「-v」でも同じ。)
brew --version
Homebrew本体とインストール済みのすべてのパッケージをアップデート。
brew update
指定したパッケージをインストール。
brew install formula名
パッケージの最新版を確認。(最新版ではないすべてのパッケージの現在のバージョンと最新のバージョンを表示。)
brew outdated
指定したパッケージを更新。(formula名を指定しなければ更新があるすべてのパッケージを更新。)
brew upgrade formula名
Homebrewでインストールされたパッケージの一覧を表示。
brew list
Homebrewに問題が無いかを確認。
brew doctor
その他の主なコマンド
| コマンド | 動作内容 |
| brew help | サブコマンドの一覧を表示。 |
| brew help サブコマンド名 | 指定したサブコマンドのヘルプ。 |
| brew config | Homebrewのシステム構成を表示。 |
| brew uninstall formula名 | 指定したパッケージをアンインストールする。(依存関係により同時にインストールされたパッケージは同時に削除されない。) |
| brew reinstall formula名 | 指定したパッケージを再インストールする。(アンインストールしてインストールされる。) |
| brew info formula名 | 指定したパッケージの詳細情報。(動作のために依存している他のパッケージの一覧情報など。) |
| brew services start formula名 | サービスとして起動 (OS起動時に自動起動してバックグラウンドに常駐) |
| brew services stop formula名 | サービスの停止 |
| brew services restart formula名 | サービスの再起動 |
| brew services list | サービスの起動状態を確認 |
| brew search 検索ワード | 指定したキーワードが含まれるパッケージが存在するかネットワーク上から検索。(オプション「-S」でも同じ。) |
https://memo.ag2works.tokyo/post-3057/
Homebrewのインストール方法と基本操作のコマンド。 | memo メモ [AG2WORKS]
<a href="https://memo.ag2works.tokyo/post-3057/" target="_blank" rel="noopener">Homebrewのインストール方法と基本操作のコマンド。 | memo メモ [AG2WORKS]</a>
この記事へのコメント
コメントの書き込みはまだありません。