ターミナルでパッケージのインストールを行う際に、やり方がわからなかったり、謎のエラーが立ちはだかって苦戦することってよくありますよね。
今回はそんな悩みを解決するHomebrew
について、
- Homebrewの概要
- Homebrewのインストール方法
- Homebrewを使ってパッケージをインストールする方法
- 他の基本的な使い方
を紹介していきます。
Contents
Homebrewとは
Homebrew
はMacOS
用のパッケージ管理システムです。
読み方は「ホームブルー」と読みます。
パッケージ管理システムというのは、パッケージをインストールしたりアンインストールしたりできるシステムのことです。
Homebrewの特徴
Homebrew
の特徴として、
- 1行叩くだけでパッケージがインストールできる
- パッケージの依存関係も管理してくれる
という点があり、これが非常に便利である理由です。
依存関係というのは、例えばA
というパッケージを使うためにはB
がインストールされている必要があるとします。
そのような状況下でもA
をHomebrew
でインストールしたら自動的にB
もインストールされるということになります。
普通であればそういったことを考えながらごちゃごちゃやっていると、時間がたつしエネルギーも消費します。
Homebrew
を使うとそれらも諸々含めて1行でできてしまうわけですね。
ということでHomebrew
はMac
を使っているなら必須アイテムです!
実行環境
MacOS Mojave バージョン 10.41.1
Homebrew
はMacOS
用と書きましたが、Linux
用のLinuxbrew
も存在していて、そちらも記事にまとめましたので興味がある方は参考にしてみてください。
Homebrewをインストールする手順
こちらのHomebrew
の公式ページにインストール方法が載っています。
大まかな流れとしては以下となります。
- インストール用のスクリプトを実行
- Xcode Command Line Toolsのインストール
- インストールできたかを確認
では1つずつ手順を説明していきます。
インストール用のスクリプトを実行
Homebrew
の公式ページを開くとインストール用のスクリプトがあるので、それをコピーします。
コピーしたスクリプトをターミナル(Terminal.app)で実行しましょう。
以下にも公式ページと同じものを張っておきますが、記事執筆時のもので変更されている可能性があるので公式ページのものをコピーするのをおすすめします。
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
コピーしたスクリプトはruby
のコードで書かれていますが、Mac
には標準でruby
がインストールされているので別でインストールする必要はありません。
実行したときのログが以下になります。
$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
==> This script will install:
/usr/local/bin/brew
/usr/local/share/doc/homebrew
/usr/local/share/man/man1/brew.1
/usr/local/share/zsh/site-functions/_brew
/usr/local/etc/bash_completion.d/brew
/usr/local/Homebrew
==> The following existing directories will be made group writable:
/usr/local/bin
/usr/local/share
/usr/local/share/man
/usr/local/share/man/man1
==> The following existing directories will have their owner set to user-name:
/usr/local/bin
/usr/local/share
/usr/local/share/man
/usr/local/share/man/man1
==> The following existing directories will have their group set to admin:
/usr/local/bin
/usr/local/share
/usr/local/share/man
/usr/local/share/man/man1
==> The following new directories will be created:
/usr/local/Cellar
/usr/local/Homebrew
/usr/local/Frameworks
/usr/local/etc
/usr/local/include
/usr/local/lib
/usr/local/opt
/usr/local/sbin
/usr/local/share/zsh
/usr/local/share/zsh/site-functions
/usr/local/var
==> The Xcode Command Line Tools will be installed.
Press RETURN to continue or any other key to abort
上記のログのように僕の環境の場合インストール途中で一旦とまります。
Xcode Command Line Toolsのインストール
ログの最後の英語を読むと、
「Xcode Command Line Toolsをインストールされます。続ける場合はRETUENを押してください」
ということが書いてあります。
なので指示通り「RETURN」キーを押しましょう。
その直後にパスワードを入力するように求められますが、Mac
の画面のロックを解除するパスワードを入力しましょう。
これだけでXcode Command Line Tools
がインストールされます。
他のHomebrew
のインストール手順を説明しているページでXcode
をインストールするように書かれているページもありますが、このように自動でインストールしてくれるようにアップデートされたので必要なくなりました。
以下が続きのログです。
==> /usr/bin/sudo /bin/chmod u+rwx /usr/local/bin /usr/local/share /usr/local/share/man /usr/local/share/man/man1
Password:
==> /usr/bin/sudo /bin/chmod g+rwx /usr/local/bin /usr/local/share /usr/local/share/man /usr/local/share/man/man1
==> /usr/bin/sudo /usr/sbin/chown user-name /usr/local/bin /usr/local/share /usr/local/share/man /usr/local/share/man/man1
︙
︙
Resolving deltas: 100% (56/56), done.
Tapped 4572 formulae (4,825 files, 12.2MB)
==> Cleaning up /Library/Caches/Homebrew...
==> Migrating /Library/Caches/Homebrew to /Users/user-name/Library/Caches/Homebrew...
==> Deleting /Library/Caches/Homebrew...
Already up-to-date.
==> Installation successful!
==> Homebrew has enabled anonymous aggregate user behaviour analytics.
Read the analytics documentation (and how to opt-out) here:
https://docs.brew.sh/Analytics.html
==> Next steps:
- Run `brew help` to get started
- Further documentation:
https://docs.brew.sh
最後のほうにsuccessful!
と表示されていればインストール成功です!
インストールできたかを確認
先程のログの最後の段落のNext step
でbrew help
を実行しましょうとあるので実行してみます。
$ brew help
Example usage:
brew search [TEXT|/REGEX/]
brew info [FORMULA...]
brew install FORMULA...
brew update
brew upgrade [FORMULA...]
brew uninstall FORMULA...
brew list [FORMULA...]
Troubleshooting:
brew config
brew doctor
brew install --verbose --debug FORMULA
Contributing:
brew create [URL [--no-fetch]]
brew edit [FORMULA...]
Further help:
brew commands
brew help [COMMAND]
man brew
https://docs.brew.sh
上記に載せたようにHomebrew
のコマンド一覧が表示されていれば、正常にインストールされています。
command not found
というように表示される場合は、何かしらの原因でインストールが失敗しています。
Homebrew
以外にも正常にインストールできたかの確認にhelp
コマンドを実行する手法はよく使われます。
Homebrewで試しにパッケージをインストールする
Homebrew
のインストールが完了したので、試しにHomebrew
でwget
をインストールします。
wget
はターミナルでURL
からファイルをダウンロードできるようにするパッケージです。
Homebrew
でwget
をインストールする際には、
$ brew install wget
を実行します。
$ brew install wget
==> Installing dependencies for wget: gettext, libunistring, libidn2, openssl
==> Installing wget dependency: gettext
==> Downloading https://homebrew.bintray.com/bottles/gettext-0.19.8.1.high_sierr
######################################################################## 100.0%
︙
︙
==> Summary
🍺 /usr/local/Cellar/openssl/1.0.2o_1: 1,791 files, 12.3MB
==> Installing wget
==> Downloading https://homebrew.bintray.com/bottles/wget-1.19.5.high_sierra.bot
######################################################################## 100.0%
==> Pouring wget-1.19.5.high_sierra.bottle.tar.gz
🍺 /usr/local/Cellar/wget/1.19.5: 50 files, 3.7MB
無事インストールが完了しました!
ログを見ると
「Installing dependencies for wget: gettext, libunistring, libidn2, openssl」とあったかと思います。
これはwget
と依存関係があるgettext
, libunistring
, libidn2
, openssl
というパッケージたちも同時にインストールしてるということが確認できます。
今回はwget
の例を見ていきました。
他のパッケージであっても、
brew install ○○
の形式でインストールすることができるので簡単にインストールできることがわかると思います。
Homebrewの基本操作
先程パッケージのインストールの方法を紹介しましたが、他の基本操作に関してもまとめていきます。
インストール可能なパッケージを確認する
$ brew search wget
==> Formulae
wget ✓ wgetpaste
wget
を含むパッケージが表示されます。
「✔」がついているものは既にインストールされているものです。
ここでログにFormulae
とありますが、これはHomebrew
の用語でパッケージのことを指します。
異常がないかを確認する
Homebrew
に異常がないかどうかを確認する機能です。
$ brew doctor
Your system is ready to brew.
もし異常があった場合には内容が表示されるので、指示に従って解決していきましょう。
バージョンを確認する
Homebrew
のバージョンを確認できます。
$ brew --version
Homebrew 2.0.6
Homebrew/homebrew-core (git revision 4050; last commit 2019-04-03)
インストールしたパッケージ一覧を確認する
インストールしたパッケージの一覧を確認することができます。
$ brew list
gettext libidn2 libunistring openssl wget
上記は先程のwget
をインストールした状態で実行したものです。
wget
以外にも他にもいくつかインストールされています。
これはwget
をインストールする際に、依存関係があるものを同時にインストールしてくれていたからです。
先程のwget
をインストールした際のログは長いのでほとんどを省略してしまいましたが、wget
以外にインストールするものがあった場合に、ログとして表示されるので確認してみるといいかと思います。
インストールしたパッケージの起動状況を確認する
$ brew services list
Name Status User Plist
postgresql started (ユーザー名) /Users/(ユーザー名)/Library/LaunchAgents/homebrew.mxcl.postgresql.plist
redis stopped
こちらはバックグラウンドで起動しているようなものの起動状況が確認できます。
パッケージの情報を確認
$ brew info (パッケージ名)
先程のwget
で実行してみました。
$ brew info wget
wget: stable 1.20.1 (bottled), HEAD
Internet file retriever
https://www.gnu.org/software/wget/
/usr/local/Cellar/wget/1.19.5 (50 files, 3.7MB) *
Poured from bottle on 2018-06-08 at 17:04:24
From: https://github.com/Homebrew/homebrew-core/blob/master/Formula/wget.rb
==> Dependencies
Build: pkg-config ✔
Required: libidn2 ✘, openssl ✔
==> Options
--HEAD
Install HEAD version
==> Analytics
install: 134,032 (30 days), 480,367 (90 days), 1,454,711 (365 days)
install_on_request: 120,534 (30 days), 421,140 (90 days), 1,275,412 (365 days)
build_error: 0 (30 days)
更新のあるパッケージを確認
$ brew outdated
パッケージを更新する
Homebrew
でインストールしたパッケージの更新を行えます。
$ brew upgrade #パッケージ全部
$ brew upgrade (パッケージ名) #パッケージ指定
古いバージョンのパッケージの削除
$ brew cleanup
$ brew cleanup -n #削除対象と容量を確認する
パッケージのアンインストール
$ brew uninstall (パッケージ名)
Homebrewのアンインストール
Homebrew
とインストールしたパッケージも同時にアンインストールされます。
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/uninstall)"
上記を実行すると、アンインストールするファイルの一覧が表示されてから確認を挟むという流れになっているので安心です。
Homebrew-Caskについて
Homebrew
はパッケージをインストールするためのものですが、例えばGoogle Chrome
のようなアプリケーションをインストールするためのHomebrew-Cask
という拡張機能が用意されています。
Homebrew-Cask
に関しては以下の記事にまとめましたので興味がある方は参考にしてみてください。