こんにちは。ナミレリです。Macの初期設定が済みターミナルの使い方も少しわかったところでMacをずっと使う動機の1つでもあるbrewについて紹介します。
この記事はこんな人にオススメ
- Macをもっともっと使いこなしたい
- ターミナルもゴリゴリ使いこなしたい
- Macでプログラミング環境を構築したい
- 便利なソフトを簡単にインストールしたい
Macの初期設定がまだ完了していない方は下記の記事をぜひご覧ください。
ターミナルの使い方に関しては下記の記事をぜひご覧ください。
この記事でわかること
- brewコマンドの基本的な使い方
- brewの覚えておくべき用語
- brewコマンドでよく使うオプション
- MacBook Pro 14インチ M1Max
- macOS Monterey 12.2.1
- ターミナル バージョン2.12(443)
目次
そもそもbrewってなに?
brewについてWikipediaに以下の記載があります。
Homebrew(ホームブルー、ホームブリュー)は、macOS、Linux、Windows Subsystem for Linuxで動作するパッケージ管理システムのひとつである。同じくmacOSのためのMacPortsやFinkと同様の目的と機能を備え、利用が広がりつつある。LinuxのDebianのAPTに似た使用感である。Max Howellによって開発された。
https://ja.wikipedia.org/wiki/Homebrew_(パッケージ管理システム)
また、brewのサイトには以下の記載があります。
Homebrewではアップル(またはあなたのLinuxシステム)が提供していないあなたの必要なものをインストールできます。
https://brew.sh/index_ja
- Homebrewは(ホームブルー、ホームブリュー)と読む
- macOS以外にもLinuxで動作する
- macOS(またはLinux)用パッケージマネージャー
- 必要なソフトウェアをインストールできる
パッケージマネージャーって?
brewは「パッケージマネージャー(パッケージ管理システム)」であることがわかりましたが、パッケージマネージャーとは何でしょうか。
Wikipediaに以下の記載があります。
パッケージ管理システム、あるいはパッケージマネージャーとは、オペレーティングシステム (OS) やプログラミング言語というひとつの環境で、各種のソフトウェアの導入と削除、そしてソフトウェア同士やライブラリとの依存関係を管理するシステムである。
https://ja.wikipedia.org/wiki/パッケージ管理システム
debian Linuxのサイトには以下の記載があります。
パッケージマネージャとは、コンピュータに何のソフトウェアがインストールされたかを記録し、新しいソフトウェアのインストール・新しいバージョンへのソフトウェアの更新・以前インストールしたソフトウェアの削除を容易に行えるようにするプログラムです。名前が示すように、パッケージマネージャはパッケージを取り扱います。パッケージとは、ファイル群を一つにし、インストールや削除をまとめてできるようにしたものです。
- 何がインストールされたか記録する
- 新しいソフトウェアへの更新や削除を容易に行えるようにする
- ソフトウェア同士やライブラリの依存関係を管理する
brewのインストール
それではインストールしてみましょう。実際にやってみると非常に簡単ですしターミナルを使うことの魅力も感じることができると思います。
brewのサイトに掲載されているインストールスクリプトを実行
- STEP
brewのサイトにアクセスします。
- STEP
インストールスクリプトをコピーします。
- STEP
ターミナルのプロンプトにインストールスクリプトをペーストします。
ターミナルを立ち上げてコピーしたインストールスクリプトをペーストし、リターンキーを押します。
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
- STEP
パスワードを入力する。
brewのインストールにはパスワードを求められますので、ご自身のMacで使うユーザーのパスワードを入力します。
- STEP
The Xcode Command Line Toolsのインストール
brewのインストールには「The Xcode Command Line Tools」が必要となります。リターンキー押してThe Xcode Command Line Toolsをインストールします。少し時間がかかると思いますが、ターミナルを眺めつつ気長に待ちましょう。
- STEP
PATHを通しbrewコマンドが使えるようにする
ターミナルにインストール状況が表示されますのでそれを眺めつつ、下のスクリーンショットのようにコマンドプロンプトに戻った状態になればインストールは終了です。
上のキャプチャーで黄色にした部分(Next steps)に記載されている通りにやってみましょう。
echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> ~/.zprofile
eval "$(/opt/homebrew/bin/brew shellenv)"
- STEP
brewインストール後の確認
brewコマンドにPATHが通っているか確認します。whichコマンドで確認します。
which brew /opt/homebrew/bin/brew
続いて、brewのバージョンを確認します。
brew --version Homebrew 3.3.16 Homebrew/homebrew-core (git revision 0ea5da646be; last commit 2022-02-22)
続いて、brew doctorで状態を確認します。
brew doctor Your system is ready to brew.
続いてbrew helpを実行します。英語ですがbrewの使い方が表示されます。
brew help Example usage: brew search TEXT|/REGEX/ brew info [FORMULA|CASK...] brew install FORMULA|CASK... brew update brew upgrade [FORMULA|CASK...] brew uninstall FORMULA|CASK... brew list [FORMULA|CASK...] Troubleshooting: brew config brew doctor brew install --verbose --debug FORMULA|CASK Contributing: brew create URL [--no-fetch] brew edit [FORMULA|CASK...] Further help: brew commands brew help [COMMAND] man brew https://docs.brew.sh
試しにslコマンドをインストールしてみる
brewのインストールが完了し状態の確認も問題なかったので試しにslコマンドをインストールしてみましょう。(インストールしなくてももちろん良いです。あくまで「試しに」です)
slを実行してみます。アスキーアートで描かれた蒸気機関車がターミナルを走り抜けます。
brew install sl
sl
lsのよく使うオプションを真似たオプションがslにもあります。
sl -l
# -lで細長いSLが走る
sl -a
# -aで車内の客が「HELP!」と叫んでいる
sl -F
# -Fで空(画面の上のほう)へ飛んでゆく
slコマンドをアンインストールしてみる
アンインストールはbrew uninstallです。
brew uninstall sl
Uninstalling /opt/homebrew/Cellar/sl/5.02... (6 files, 37.4KB)
Homebrewの覚えておくべき用語
brewで最初に覚えておく用語としてformulaとcaskなどがあります。
用語 | 概要 | ざっと補足すると |
formula | Homebrew package definition built from upstream sources | CUIのアプリのパッケージ |
cask | Homebrew package definition that installs macOS native applications | GUIのアプリのパッケージ |
keg | installation destination directory of a given formula version e.g. /usr/local/Cellar/foo/0.1 | CUIアプリの特定バージョンのインストール先 |
rack | directory containing one or more versioned kegs e.g. /usr/local/Cellar/foo | 1つ以上の上記のkegのバージョンが入るディレクトリ |
cellar | directory containing one or more named racks e.g. /usr/local/Cellar | 1つ以上の上記のrackが入るディレクトリ |
Caskroom | directory containing one or more named casks e.g. /usr/local/Caskroom | GUIアプリであるcaskが1つ以上入るディレクトリ |
tap | directory (and usually Git repository) of formulae, casks and/or external commands | 公式以外のリポジトリをformulaとしHomebrewに追加する |
bottle | pre-built keg poured into the cellar/rack instead of building from upstream sources | ビルド済みのバイナリで環境に合うbottleがformulaに含まれていれば、ビルドせずにインストール可能 |
以下のサイトに大変わかりやすくまとめてくれています。ぜひ参考にしてください。感謝です。
Homebrewのよく使うオプション(使い方)
brew search
brew searchは、探したいコマンドをテキストで入力するかまたは正規表現で入力します。
brew searchの使い方
brew search [TEXT|/REGEX/]
brew searchを使ってみる
先のslコマンドがbrewにあるか探してみます。slと付くパッケージ名が多いのでここでは正規表現で完全一致で探します。
Formulaeにslがあるという結果となります。
brew search /^sl$/
==> Formulae
sl
次にgoogleというキーワードでパッケージを探してみます。
FormulaeとCaskでいくつかヒットします。
brew search google
==> Formulae
aws-google-auth google-sparsehash
google-authenticator-libpam google-sql-tool
google-benchmark googler
google-go googletest
google-java-format goose
==> Casks
homebrew/cask-versions/google-chrome-beta
homebrew/cask-versions/google-chrome-canary
homebrew/cask-versions/google-chrome-dev
homebrew/cask-versions/google-japanese-ime-dev
brew info
brew infoは、FormulaeやCaskの詳しい情報を見ることができます。
brew infoの使い方
brew info [FORMULA|CASK...]
brew infoを使ってみる
先のslコマンドの情報を見てみましょう。「Analytics」の部分でインストール数も見ることができます。
brew info sl
sl: stable 5.02 (bottled), HEAD
Prints a steam locomotive if you type sl instead of ls
https://github.com/mtoyoda/sl
Not installed
From: https://github.com/Homebrew/homebrew-core/blob/HEAD/Formula/sl.rb
License: MIT
==> Options
--HEAD
Install HEAD version
==> Analytics
install: 2,051 (30 days), 6,349 (90 days), 25,629 (365 days)
install-on-request: 2,047 (30 days), 6,337 (90 days), 25,606 (365 days)
build-error: 0 (30 days)
lolcatというパッケージの情報も見てみます。lolcatはターミナルの出力をレインボーに彩ることができるソフトウェアです。
brew info lolcat
lolcat: stable 100.0.1 (bottled)
Rainbows and unicorns in your console!
https://github.com/busyloop/lolcat
Not installed
From: https://github.com/Homebrew/homebrew-core/blob/HEAD/Formula/lolcat.rb
License: BSD-3-Clause
==> Analytics
install: 1,160 (30 days), 3,339 (90 days), 13,073 (365 days)
install-on-request: 1,160 (30 days), 3,336 (90 days), 13,067 (365 days)
build-error: 0 (30 days)
brew install
brew installは、インストールしたいFormulaeやCaskを指定しインストールします。
使い方
brew install FORMULA|CASK...
ターミナルの出力をレインボーに彩るlolcatをインストールしてみます。(slに続きlolcatも心和む系で私は好きです)
brew install lolcat
(省略)
==> Pouring lolcat--100.0.1.all.bottle.tar.gz
🍺 /opt/homebrew/Cellar/lolcat/100.0.1: 261 files, 593.0KB
(省略)
さっそくlolcatを使ってみましょう。虹色に彩ってくれます。
ls -l | lolcat
上でslコマンドをアンインストールしましたが再度インストールして実行してみます。
sl -l | lolcat
コマンドラインではパイプという機能を使ってコマンドを実行した結果を(出力された値)を、別のコマンドの入力として受け取り出力することができます。
上の例ではls -lの結果を|で繋げて書くことでlolcatに渡して出力しています。これをパイプと言います。
brew update
brew updateは、brew自体のアップデートでローカルのFormulaファイルを最新にします。自身のPCにインストールされているものをアップデートするわけでないので注意してください。
brew updateの使い方
brew update
brew updateしてみる
brew自体が最新の場合は「Already up-to-date.」と表示されます。インストール済のソフトウェアが最新であるという意味ではありませんので注意してください。
brew update
Already up-to-date.
brew outdated
brew outdatedはbrewでインストールしかつ最新ではないパッケージを一覧表示するコマンドです。
brew outdatedの使い方
brew outdated
brew outdatedしてみる
最新ではないパッケージは下記のように表示されます。(最新ではないパッケージがない場合は何も表示されません)
brew outdated
little-cms2 (2.13) < 2.13.1
keycastr (0.9.11) != 0.9.12
・1. brew updateでローカルのFormulaファイルを最新にして、
・2. brew outdatedしてbrewでインストールしかつ最新ではないパッケージを確認する
brew upgrade
brew upgradeはbrewでインストールしかつ最新ではないパッケージを最新にします。
使い方
brew upgradeの後に最新にしたいFormulaを指定します。Formulaを指定しない場合はbrewでインストールした全てを対象に最新ではないパッケージを全て最新にしてくれます。
brew upgrade [FORMULA|CASK...]
・1. brew updateでローカルのFormulaファイルを最新にして、
・2. brew outdatedしてbrewでインストールしかつ最新ではないパッケージを確認する
・3. brew upgradeして最新ではないパッケージを最新にする
brew uninstall
brew uninstallはアンインストールしたいFormulaeやCaskを指定することでアンインストールを実行します。
brew uninstallの使い方
brew uninstall FORMULA|CASK...
brew uninstallしてみる
上でインストールしたlolcatをアンインストールしてみます。
brew uninstall lolcat
Uninstalling /opt/homebrew/Cellar/lolcat/100.0.1... (261 files, 593.0KB)
brew list
brew listは、brewでインストールしたパッケージを一覧表示します。brew listの後にFormulaeやCaskを指定することでインストール先を確認することもできます。
brew listの使い方
brew list [FORMULA|CASK...]
brew listしてみる
brew listはインストール済のFormulaeとCaskを一覧表示してくれます。下記はslしか表示されていません。
brew list
==> Formulae
sl
brew list sl
/opt/homebrew/Cellar/sl/5.02/bin/sl
/opt/homebrew/Cellar/sl/5.02/share/man/man1/sl.1
brew config
brew configは、brewの設定や状態を表示するコマンドです。主にトラブルシューティングで使います。brewのバージョンやgitの情報、環境変数、使用するrubyやcurlのバージョン等が表示されます。
brew configの使い方
brew config
brew configしてみる
brew config
HOMEBREW_VERSION: 3.3.16
ORIGIN: https://github.com/Homebrew/brew
HEAD: 2dc375acc2fe4e089d103171ec8fb06a87d83bb6
Last commit: 2 days ago
Core tap ORIGIN: https://github.com/Homebrew/homebrew-core
Core tap HEAD: 7ef8aef5ed5882cf08e3a4b2ac90d025a77e6124
Core tap last commit: 2 hours ago
Core tap branch: master
HOMEBREW_PREFIX: /opt/homebrew
HOMEBREW_CASK_OPTS: []
HOMEBREW_CORE_GIT_REMOTE: https://github.com/Homebrew/homebrew-core
HOMEBREW_EDITOR: vim
HOMEBREW_MAKE_JOBS: 10
Homebrew Ruby: 2.6.8 => /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/bin/ruby
CPU: 10-core 64-bit arm_firestorm_icestorm
Clang: 13.0.0 build 1300
Git: 2.32.0 => /Library/Developer/CommandLineTools/usr/bin/git
Curl: 7.77.0 => /usr/bin/curl
macOS: 12.2.1-arm64
CLT: 13.2.0.0.1.1638488800
Xcode: N/A
Rosetta 2: false
brew doctor
brew doctorは、brewの問題を表示してくれます。こちらも主にメンテナンスやトラブルシューティングで使います。
brew doctorの使い方
brew doctor
brew doctorしてみる
特に問題がない場合は「Your system is ready to brew.」が表示されます。
brew doctor
Your system is ready to brew.
最後に
最後まで読んでいただきありがとうございます。今回はHomebrewのインストールと使い方を紹介しました。
Mac好きな理由のひとつにHomebrewが使える、ということがあると思います。MacがUnixの系統でターミナルでコマンドラインをUnixのように触れて、Homebrewも使えて便利!といった方が私も含めて結構いると思います。
ぜひ皆さんもHomebrewを活用してみてください。この記事がみなさんのMacライフに少しでもお役に立てたら幸いです。
MacやLinux、Pythonなど技術系のkindle本も豊富にあります。詳しくはこちらから。
Amazonの電子書籍読み放題サービス「Kindle Unlimited」でプライム会員を対象に、最初の3か月間を無料体験できるキャンペーンを実施中。マンガ、小説、ビジネス書、雑誌など500万冊から、好きな本を何冊でも読めるキャンペーンです。
初めてkindle unlimited 読み放題をご利用の方は30日間の無料で体験できます。
期間終了後は月額980円で、いつでもキャンセルできます。
200万冊以上が読み放題。お好きな端末で利用可能です。