Mac用パッケージ管理システム Homebrew のインストール

2017年12月11日

最近の Mac のパッケージ管理システムとして主流になってきている Homebrew のインストール手順です。

Homebrew とは?

Mac のプログラム開発で必要になる依存パッケージ等を管理するパッケージ管理システムです。

類似システムとしては、MacPorts が有名ですが、Homebrew の方がスマートにパッケージ管理をしてくれるということで、急速人気を伸ばしていっています。

Homebrew のインストールに必要な環境

Requirements

  • An Intel CPU
  • OS X 10.10 or higher
  • Command Line Tools (CLT) for Xcode: xcode-select –install, developer.apple.com/downloads or Xcode
  • A Bourne-compatible shell for installation (e.g. bash or zsh)

出典:Installation – Homebrew

Mac を持っている場合、3個目の CLT 以外は条件を満たしているので、まずは CLT をインストールしましょう。

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

Homebrew のインストール前に「Command Line Tools for Xcode」が必要なのでインストールします。
 ※事前に Xcode をインストールし、ライセンス使用許諾契約の同意まで済ませておく必要がある。

コマンドを実行すると GUI で確認ダイアログが出てくるという不思議な状態ですが、そのまま画面の指示に従って進めて下さい。

xcode-select --install
xcode-select: note: install requested for command line developer tools

バッテリー起動でインストール作業を行うとダイアログが出てきますが、それほど時間はかからないのでバッテリー残量に問題がなければそのまま進めて下さい。

Homebrew のインストール

引き続きターミナルでコマンドを実行していきます。

Homebrew のインストール手順

Homebrew の公式サイトに記載されているコマンドを実行するだけです。

/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 new directories will be created:
/usr/local/Cellar
/usr/local/Homebrew
/usr/local/Frameworks
/usr/local/bin
/usr/local/etc
/usr/local/include
/usr/local/lib
/usr/local/opt
/usr/local/sbin
/usr/local/share
/usr/local/share/zsh
/usr/local/share/zsh/site-functions
/usr/local/var

Press RETURN to continue or any other key to abort

ここでインストールを続行する場合、エンターキーを押して下さい。

==> /usr/bin/sudo /bin/mkdir -p /usr/local/Cellar /usr/local/Homebrew /usr/local/Frameworks /usr/local/bin /usr/local/etc /usr/local/include /usr/local/lib /usr/local/opt /usr/local/sbin /usr/local/share /usr/local/share/zsh /usr/local/share/zsh/site-functions /usr/local/var
Password:

現在のユーザのパスワードを入力して続行します。

==> /usr/bin/sudo /bin/chmod g+rwx /usr/local/Cellar /usr/local/Homebrew /usr/local/Frameworks /usr/local/bin /usr/local/etc /usr/local/include /usr/local/lib /usr/local/opt /usr/local/sbin /usr/local/share /usr/local/share/zsh /usr/local/share/zsh/site-functions /usr/local/var
==> /usr/bin/sudo /bin/chmod 755 /usr/local/share/zsh /usr/local/share/zsh/site-functions
==> /usr/bin/sudo /usr/sbin/chown satoshi /usr/local/Cellar /usr/local/Homebrew /usr/local/Frameworks /usr/local/bin /usr/local/etc /usr/local/include /usr/local/lib /usr/local/opt /usr/local/sbin /usr/local/share /usr/local/share/zsh /usr/local/share/zsh/site-functions /usr/local/var
==> /usr/bin/sudo /usr/bin/chgrp admin /usr/local/Cellar /usr/local/Homebrew /usr/local/Frameworks /usr/local/bin /usr/local/etc /usr/local/include /usr/local/lib /usr/local/opt /usr/local/sbin /usr/local/share /usr/local/share/zsh /usr/local/share/zsh/site-functions /usr/local/var
==> /usr/bin/sudo /bin/mkdir -p /Users/satoshi/Library/Caches/Homebrew
==> /usr/bin/sudo /bin/chmod g+rwx /Users/satoshi/Library/Caches/Homebrew
==> /usr/bin/sudo /usr/sbin/chown satoshi /Users/satoshi/Library/Caches/Homebrew
==> /usr/bin/sudo /bin/mkdir -p /Library/Caches/Homebrew
==> /usr/bin/sudo /bin/chmod g+rwx /Library/Caches/Homebrew
==> /usr/bin/sudo /usr/sbin/chown satoshi /Library/Caches/Homebrew
==> Downloading and installing Homebrew...
remote: Counting objects: 95439, done.
remote: Compressing objects: 100% (60/60), done.
Receiving objects: 100% (95439/95439), 21.83 MiB | 1.39 MiB/s, done.
Resolving deltas: 100% (69263/69263), done.
From https://github.com/Homebrew/brew
 * [new branch]          master     -> origin/master
 * [new tag]             0.1        -> 0.1
 * [new tag]             0.2        -> 0.2
 * [new tag]             0.3        -> 0.3
 * [new tag]             0.4        -> 0.4
 * [new tag]             0.5        -> 0.5
 * [new tag]             0.6        -> 0.6
 * [new tag]             0.7        -> 0.7
 * [new tag]             0.7.1      -> 0.7.1
 * [new tag]             0.8        -> 0.8
 * [new tag]             0.8.1      -> 0.8.1
 * [new tag]             0.9        -> 0.9
 * [new tag]             0.9.1      -> 0.9.1
 * [new tag]             0.9.2      -> 0.9.2
 * [new tag]             0.9.3      -> 0.9.3
 * [new tag]             0.9.4      -> 0.9.4
 * [new tag]             0.9.5      -> 0.9.5
 * [new tag]             0.9.8      -> 0.9.8
 * [new tag]             0.9.9      -> 0.9.9
 * [new tag]             1.0.0      -> 1.0.0
 * [new tag]             1.0.1      -> 1.0.1
 * [new tag]             1.0.2      -> 1.0.2
 * [new tag]             1.0.3      -> 1.0.3
 * [new tag]             1.0.4      -> 1.0.4
 * [new tag]             1.0.5      -> 1.0.5
 * [new tag]             1.0.6      -> 1.0.6
 * [new tag]             1.0.7      -> 1.0.7
 * [new tag]             1.0.8      -> 1.0.8
 * [new tag]             1.0.9      -> 1.0.9
 * [new tag]             1.1.0      -> 1.1.0
 * [new tag]             1.1.1      -> 1.1.1
 * [new tag]             1.1.10     -> 1.1.10
 * [new tag]             1.1.11     -> 1.1.11
 * [new tag]             1.1.12     -> 1.1.12
 * [new tag]             1.1.13     -> 1.1.13
 * [new tag]             1.1.2      -> 1.1.2
 * [new tag]             1.1.3      -> 1.1.3
 * [new tag]             1.1.4      -> 1.1.4
 * [new tag]             1.1.5      -> 1.1.5
 * [new tag]             1.1.6      -> 1.1.6
 * [new tag]             1.1.7      -> 1.1.7
 * [new tag]             1.1.8      -> 1.1.8
 * [new tag]             1.1.9      -> 1.1.9
 * [new tag]             1.2.0      -> 1.2.0
 * [new tag]             1.2.1      -> 1.2.1
 * [new tag]             1.2.2      -> 1.2.2
 * [new tag]             1.2.3      -> 1.2.3
 * [new tag]             1.2.4      -> 1.2.4
 * [new tag]             1.2.5      -> 1.2.5
 * [new tag]             1.2.6      -> 1.2.6
 * [new tag]             1.3.0      -> 1.3.0
 * [new tag]             1.3.1      -> 1.3.1
 * [new tag]             1.3.2      -> 1.3.2
 * [new tag]             1.3.3      -> 1.3.3
 * [new tag]             1.3.4      -> 1.3.4
 * [new tag]             1.3.5      -> 1.3.5
 * [new tag]             1.3.6      -> 1.3.6
 * [new tag]             1.3.7      -> 1.3.7
 * [new tag]             1.3.8      -> 1.3.8
 * [new tag]             1.3.9      -> 1.3.9
HEAD is now at e5e91f021 Merge pull request #3550 from MikeMcQuaid/fix-undefined-xquartz
==> Tapping homebrew/core
Cloning into '/usr/local/Homebrew/Library/Taps/homebrew/homebrew-core'...
remote: Counting objects: 4654, done.
remote: Compressing objects: 100% (4432/4432), done.
remote: Total 4654 (delta 36), reused 319 (delta 10), pack-reused 0
Receiving objects: 100% (4654/4654), 3.84 MiB | 1.44 MiB/s, done.
Resolving deltas: 100% (36/36), done.
Tapped 4426 formulae (4,701 files, 12.0MB)
==> Cleaning up /Library/Caches/Homebrew...
==> Migrating /Library/Caches/Homebrew to /Users/satoshi/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

これだけ。
めっちゃ簡単です。

Homebrew の更新

Homebrew 自体の更新があった場合、下記コマンドで最新化することができます。

何やらいっぱい更新されました。

brew update
Updated 1 tap (homebrew/core).
==> New Formulae
ddgr                                         google-authenticator-libpam                  igv                                          libidn2                                      mongodb@3.4
==> Updated Formulae
abcmidi             bartycrouch         corebird            ffmpeg              gitg                gtkspell3           knot-resolver       mongodb             paket               pygobject           tinyxml2
ack                 bfg                 davmail             flyway              global              hdf5@1.8            kompose             mono                pandoc              python-markdown     traefik
advancemame         bitrise             dhall-json          folly               gnome-builder       heroku              kubeless            mujs                pegtl               qt                  vala
ansible-lint        bmake               dialog              freediameter        gnome-recipes       html-xml-utils      latexila            node                pilosa              reminiscence        wireguard-tools
antlr               ceres-solver        docfx               fuse-emulator       gopass              jboss-forge         lgogdownloader      node-build          pipenv              reposurgeon         wtf
antlr4-cpp-runtime  chakra              dpkg                fuse-zip            gpgme               jenkins             libcdio             nsd                 plantuml            sec                 xtensor
apm-server          chromedriver        enchant             fuseki              graphicsmagick      juju                libhttpseverywhere  nvm                 pow                 sfk                 youtube-dl
armadillo           clhep               erlang@18           gearman             grpc                juju-wait           libtiff             octave              pqiv                shpotify            zurl
artifactory         coffeescript        erlang@19           gedit               gsoap               just                meson               oniguruma           pushpin             suite-sparse
assimp              conjure-up          fd                  git-crypt           gspell              kibana              minio-mc            optipng             pyenv               sundials

再度実行して最新化されている事を確認!

brew update
Already up-to-date.

formula の更新。

brew upgrade
Updating Homebrew...

お掃除。

brew cleanup

Homebrew の動作確認

brew doctor
Your system is ready to brew.

上位メッセージが出たら無事に動作しています。
WARNING等が出る場合、画面の指示に従って調整していきましょう。

僕の場合、下記のようなメッセージが出たので、画面の指示通り、Apple Store にいってCLTのアップデートを行いました。

brew doctor
Please note that these warnings are just used to help the Homebrew maintainers
with debugging if you file an issue. If everything you use Homebrew for is
working fine: please don't worry or file an issue; just ignore this. Thanks!

Warning: A newer Command Line Tools release is available.
Update them from Software Update in the App Store.

まとめ

Homebrew のインストール手順+最新化のは以上です!

事前に Xcode をインストールしておくことと、コマンドラインツールのインストールがあるのが面倒ですが、それ以外は簡単です。

プログラム開発の環境構築をしようとしても、Homebrew のインストールが終わっていることが前提の記事も多いので、予めインストールしておきましょう。

Xcode のインストール方法はこちらの記事をご覧ください。

Apple

Posted by さとし