Macのツールを楽にインストールできるパッケージ管理システムHomebrewの使い方

By

公開日: 更新日:

Macのツールを楽にインストールできるパッケージ管理システムHomebrewの使い方

Mac OS X の環境を整えるには、便利なツールやアプリ(ソフトウェア)のインストールを行います。パッケージ管理システムを知らなければ、Webでツールを検索してダウンロードページから一つずつ落とし、インストールしなくてはなりません。この作業には手間がかかり時間も奪われます。

パッケージ管理システムを使えば、この単調な繰り返し作業を軽減し、短時間で済ませることができます。今回はそのパッケージ管理システムの「Homebrew」の使い方を紹介します。

Windowsのパッケージ管理システムについてはこちらの記事を参考にしてください。

必要となる知識

まず、はじめに知識として以下のことを学習しておくとよいでしょう。

  • UNIXコマンド
  • Vim

プログラミング学習サイトの「ドットインストール」で学習することができます。

Homebrewとは何か?

ターミナル.appでコマンドを入力して使う、UNIXツールを楽にインストール、アンインストールしたりできる日本で人気の高いパッケージ管理システムです。またアプリなどの、GUIアプリケーションもHomebrewの拡張「Homebrew Cask」を入れることで管理できます。

Homebrewのインストール

Homebrewを使うには、事前準備が必要です。

Homebrewの動作環境

  • Intel CPU
  • Mac OS X 10.6 以上(推奨10.7以上)
  • Command Line Tools for Xcode
  • Homebrewインストール用のシェル(bashやzshなど)

動作環境を確認、準備したらHomebrew本体をインストールします。

プロセッサとバージョンの確認

メニューバーの「Apple」メニューから「この Mac について」を選択すると確認できます。以下のAppleのサポートページを参考にしてみてください。

  • 使用している Mac のプロセッサが Intel か PowerPC かの判定方法

Command Line Tools のインストールする

App StoreでXcodeをダウンロードして、インストールが完了したらターミナルを起動して、以下のコマンドを入力して「Enter」を押してください。
ターミナルは、「Finder」→「アプリケーション」→「ユーティリティ」→「ターミナル」にあります。

$ xcode-select --install

うまくいかない場合は Apple Developer からダウンロードしてインストールします。その際、ログインが必要になるのでApple IDを用意してください。Command Line Tools のインストール手順は以下のサイトを参考にしてみてください。

シェルの確認

デフォルトではbashが入ってると思いますが、下記のコマンドをターミナルで実行し、確認してみてください。

$ echo $SHELL

シェルがbashの場合以下のような文字が表示されると思います。

/bin/bash

fish, tcsh, csh が設定されていたらHomebrewが動かないようなので変更しましょう。以下の Apple サポートページを参考にしてみてください。

Homebrew本体のインストール

動作環境の確認とインストールに必要な環境が整ったらHomebrew本体をインストールしていきましょう。

ターミナルで以下のコマンドを実行してください。念のためコードが変わっている可能性もあるので、公式サイトでコマンドを確認してみてください。

$ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

インストールが完了したら、その旨をメッセージで教えてくれますが、いちよ確認してみましょう。インストールできたらbrewコマンドが使えるようになります。これに--versionまたは-vをつけて実行するとHomebrewのバージョンが確認できます。

$ brew --version
0.9.5

もしくは

$ brew -v
Homebrew 0.9.5

brew -vはより詳しいバージョン情報が表示されます。

不具合がないか調べる

Homebrewがインストールできたら、まずはじめに不具合がないか確かめます。以下のコマンドでチェックします。

$ brew doctor

下記のようなメッセージが出力されたら使う準備はOKです。

Your system is ready to brew.

エラーメッセージが出力された場合は、それにしたがって対処してください。エラーメッセージの内容で検索すれば解決方法に辿り着くでしょう。

他のパッケージ管理システムのMacPortなどを入れていたりすると、Warningがでると思います。混在させておくと良くないようなのでアンインストールしておきましょう。

Homebrewの基本的な使い方

Homebrewでパッケージのインストールはターミナルで行いますが、CUIが苦手な方はGUIツールのCakebrewがあるので以下のサイトからダウンロードして使ってみてください。

まずは、基本的には以下の5つを覚えておけば使えます。

  • インストール
  • アインストール
  • アップデートとアップグレード
  • パッケージを探し方
  • ヘルプを見る

実際に使ってみてから、パッケージの情報の確認やインストールしたパッケージの確認、パッケージを自作する方法など覚えていけばいいでしょう。

パッケージのインストール方法

パッケージは以下のコマンドを実行することで簡単にインストールできます。

$ brew install [formula]

パッケージをインストールするために、そのビルド手順の書かれた「Formula」を使います。

公式サイトではwgetをインストールする例が載っています。

$ brew install wget

インストールコマンドを行うと/usr/localの中のCellorディレクトにパッケージがインストールされ、binにシンボリックリンクが作られます。

$ cd /usr/local
$ find Cellar
Cellar/wget/1.15
Cellar/wget/1.15/bin/wget
Cellar/wget/1.15/share/man/man1/wget.1

$ ls -l bin
bin/wget -> ../Cellar/wget/1.15/bin/wget

まとめると以下のようになります。

  • /usr/local/Cellar/にパッケージのインストール
  • /usr/local/bin/にパッケージのリンク

Homebrewは決められたディレクトリの中だけにファイルをインストールします。またインストール場所を自由に変えることもできます。

パッケージのアンインストール方法

パッケージのアンインストールは以下のコマンドでアンインストールできます。

$ brew uninstall [formula]

uninstallにはエイリアスがあり、removermとしても同じようにアンインストールできます。uninstallは単語が長いので、一番短いrmを使うといいでしょう。

$ brew rm [formula]

アップデートとアップグレード

Homebrewを最新バージョンにするコマンドにはupdateupgradeがあります。

Homebrew本体を最新バージョンにし、Formulaに追加・変更があったら、それらをアップするコマンドがupdateです。この時、インストールされたパッケージはアップデートされません。

$ brew update

インストール済みのパッケージを最新バージョンにするには、upgradeコマンドを使います。

$ brew upgrade

このコマンドを実行するとインストール済みのパッケージすべてがアップグレードされます。特定のパッケージのみアップグレードするには、以下のようにFormulaを指定します。

$ brew upgrade [formula]

upgradeは、Formulaが追加・変更が行われていたらですので、先にupdateを行っておく必要があります。また、アップデート、アップグレードした時に古いバージョンが残るので、cleanupコマンドもセットで覚えておくといいでしょう。

cleanupすると古いバージョンをCellarから削除してくれます。インストールのところで出てきたCellarです。これもFormulaと同じようにHomebrew用語ですので覚えておくといいでしょう。

cleanupupgradeと同じようにFormulaを指定でき、省略した場合はインストールしたもの全てが対象になります。

$ brew update && brew upgrade [formula] && brew cleanup [formula]

パッケージの探し方

インストール可能なパッケージは何があるかどうかは、Formulaがあるか検索することで調べることができます。検索するには、searchかエイリアスの-Sを使います。

$ brew search [text]

検索文字を入力しないとFormulaがすべて表示されます。また[text]をスラッシュで囲むことで正規表現を使って検索することができます。

例えば以下のようにgitを検索すると、一つ目はFormula名にgitを含むものが結果に表示されますが、スラッシュで囲んで正規表現の^$を使うと完全一致したgitのみ結果に表示されます

$ brew -S git
gitを含んだFormulaが表示される
$ brew -S /^git$/
git

正規表現の構文は以下のサイトを参考にしてみてください。

Web上では「Homebrew Formulas」でFormulaを検索することができます。

  • Homebrew Formulas

分からないことはヘルプで確認

ここまでのことは、基本的によく使うだろうと思います。その他にもHomebrewにはコマンドやそれに使えるオプションがあります。

また、インストールしたパッケージについても知りたいことがあるでしょう。それを調べるには、以下の3つのコマンドを覚えておくと良いです。

  • man brew
  • brew help
  • brew home [formula]
$ man brew

man brewコマンドを実行するとHomebreのbrewコマンドで使えるマニュアルが表示されます。分からないことがあったら確認してみましょう。開いたマニュアルはqを押すと閉じる事ができます。

$ brew help
Example usage:
  brew [info | home | options ] [FORMULA...]
  brew install FORMULA...
  brew uninstall FORMULA...
  brew search [foo]
  brew list [FORMULA...]
  brew update
  brew upgrade [FORMULA...]
  brew pin/unpin [FORMULA...]

Troubleshooting:
  brew doctor
  brew install -vd FORMULA
  brew [--env | config]

Brewing:
  brew create [URL [--no-fetch]]
  brew edit [FORMULA...]
  open https://github.com/Homebrew/homebrew/wiki/Formula-Cookbook

Further help:
  man brew
  brew home

brew helpコマンドは、スッキリまとめてコマンドだけを表示してくれます。コマンドをど忘れした時のチートシート代わりに使うといいかもしれません。

$ brew home [formula]

brew home [formula]コマンドは指定したFormulaのWebサイトを開くことができます。インストールしたパッケージについて知りたいことがあればこのコマンドを実行してみてください。

Formulaを指定しなかった場合は、Homebrewの公式サイトが開きます。コマンド以外に詳しく知りたいことがあれば、そちらのWikiを参照してみてください。

HomebrewのWikiはこちらのリンクからもどうぞ

Homebrew をもうちょっと使いこなそう

基本的な使い方を覚えたら次に以下の3つも覚えておくと良いでしょう。

  • インストールしたパッケージの確認
  • Formulaの情報をみる
  • Formulaの増やし方とダウングレードの方法

インストールしたパッケージの確認方法

何をインストールしたか忘れてしまったときなど、インストールしたパッケージを表示するには、listコマンドを使います。

$ brew list [formula]

Formulaを指定した場合はインストールされているディレクトリのPathが表示されます。指定しなかった場合はインストール済みのFormula名がリストで表示されます。

Formulaの情報をみる

infoコマンドを使えば、Formulaの情報が見ることができます。これを使うとそれぞれのFormulaに用意されたオプションやサイトURLなどの情報を見ることができます。

また、パッケージのインストールが行われていないものには「Not installed」と表示されるのでここでもインストールの確認ができます。

$ brew info [formula]

Formulaの増やし方とダウングレードの方法

Formulaを検索してみても欲しいパッケージが見つからないかもしれません。また、Formulaは最新バージョンに更新されていきます。何か不具合があったときに古いバージョンにダウングレードしたいケースもあるでしょう。

そんな時は、Formulaを追加してみましょう。Formulaを増やすには主に2つの方法があります。

  1. Formulaを自作する
  2. 公式以外にGitHubで公開されているものを取り込む

今回は2つ目の公式以外にGitHubで公開されているものをHomebrewに取り込む方法を行ってみましょう。使い方がわかってきたらFormulaを自作するのもいいでしょう。

tap を使ってリポジトリを追加する

Homebrewに他のFormulaのリポジトリを取り込むにはtapコマンドを使います。取り込んだリポジトリは、untapコマンド削除することができます。

  • tap
  • untap
$ brew tap [user]/[repo]

tapのあとに、GitHubに公開されているFomulaのユーザ名とリポジトリ名を入れて、brewコマンドで使えるようにします。

例として、Homebrewの本体とは別バージョンのFormulaが公開されているHomebrew/homebrew-versionsを追加してみましょう。これを追加することでダウングレードが可能になります。

tapするとき、接頭辞のhomebrew-は省略します。

$ brew tap homebrew/versions

tapしたリポジトリは、tapコマンドを引数なしで実行すると確認できます。

$ brew tap
homebrew/versions

これでFormulaが追加されました。試しにFormulaのnodeを検索してみます。

$ brew -S node
leafnode  node  node04  node06  node08  nodebrew  nodenv

するとNode.jsの別バージョンnode04node06node08などが追加されていることがわかります。

untap でリポジトリの削除

追加したリポジトリの削除は、untapを実行すれば行えます。

$ brew untap [user]/[repo]

詳しくはman brewでマニュアルを見るか、HomebrewのWikiを確認してみてください。

ダウングレードする方法

Homebrewで別バージョンをインストールするには上述の例で示した方法以外にも、自分でFormulaを作ったりして対応することもできます。

以下のstakoverflowのAnswerも参考にしてみてください。

Homebrew をアンインストール

他のパッケージ管理システムに乗り換える際など、Homebrew本体をアンインストールしたいなら以下の手順を実行し削除してください。

Homebrewのアンインストール方法はWikiのFAQに書かれています。

こちらのリンク先のシェルスクリプトを実行するとアンインストールできるようです。

入れたツールを優先して使う$PATHの設定

Homebrewは、デフォルトで/usr/local/binをで使用します。ここには、パスが通っているので特に設定を変更する必要はありません。

しかし、Mac OS X にプリインストールされているツール、例えば Ruby、Git、zshなどをHomebrewで入れ直す場合は、/usr/local/binを優先されるようにしなければなりません。この設定を行わないと使うことができません。

デフォルトで入っているツールを入れ直したとき、警告やエラーで知らしてくれるので、それに従って設定すればいいでしょう。ですが、エラーが出るのも気分が悪いので予め設定しておきます。

$PATH の設定手順

$PATHを設定する方法には/etc/pathsを編集する方法やシェルのユーザ環境設定ファイル、例えば.bash_profileファイルや.bashrcファイルに記述する方法などがあります。

今回はターミナルのデフォルトのシェル、bash.bash_profileに設定していきます。

HOMEディレクトリの.bash_profileに以下の記述をします。ファイルがない場合は新規作成してください。

export PATH=/usr/local/bin:$PATH

それでは、以下の3ステップでパスの設定を行います。

  1. ドットで始まる非表示ファイルの確認
  2. .bash_profileに設定を書く
  3. $PATHの設定を確認

ドットで始まる非表示ファイルの確認

ドットで始まるファイルはデフォルトでは非表示なのでFinderでは確認できません。なので、ターミナルで、lsコマンドに-aオプションをつけて実行して確認します。

.bash_profileファイルを確認するためには、HOMEディレクトリで確認しなければならないので以下のコマンドで確認してみましょう。

$ cd ~/ && ls -a

.bash_profileに設定を書く

上記の設定をターミナルから.bash_profileに書き込むには以下のコマンドを実行してください。

パスの部分はシングルクォートで囲んでいるのに注意してください。これは上記で示したままクォートを付けなかったりダブルクォートで囲むと$PATHの部分が変数として扱われ、展開されて書き込まれます。

$ echo export PATH='/usr/local/bin:$PATH' >> ~/.bash_profile

catコマンドで確認してみましょう。最後の行に設定が追加されていればOKです。

$ cat ~/.bash_profile
export PATH=/usr/local/bin:$PATH

すでに.bash_profileがあり、最後に改行がなかった場合、最後の記述と同じラインに設定が保存されてしまってうまく行ってないかもしれません。その場合はvimemacsなどのテキストエディタで開いて修正してあげてください。

$ vim ~/.bash_profile

$PATHの設定を確認

設定を書き込んだら、ターミナルを再起動して設定を反映させます。または、ターミナルでsource ~/.bash_profileとコマンドを打ち、スクリプトを実行させます。

$ source ~/.bash_profile

環境変数のPATHが反映されているか、echo $PATHコマンドで確認してみてください。設定されていれば/usr/local/bin:から始まるパスが表示されます。

$ echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin

設定された環境変数を表示するenvコマンドでも確認できます。環境変数の中からPATHを探して確認してみてください。

$ env

パスの設定以下のサイトも参考にしてみてください。

Homebrew のコマンド一覧

よく使うであろうコマンド一覧です。

コマンド 説明
brew install [formula] 指定したパッケージのインストール
brew uninstall [formula] 指定したパッケージのアンインストール
brew doctor Homebrewの問題をチェックします。
brew update Homebrew本体をアップグレードします。
brew upgrade 最新でないパッケージをまとめてアップグレードします。
brew upgrade [formula] 指定した最新でないパッケージをアップグレードします。
brew cleanup パッケージの古いバージョンをまとめて削除します。
brew cleanup [formula] 指定したパッケージの古いバージョンを削除します。
brew -v Homebrewのバージョンを表示します。
brew search インストール可能なパッケージをすべて表示します。
brew search [text] インストール可能なパッケージを検索します。
brew help ヘルプを表示します。
man brew Homebrewのマニュアルを開きます。
brew home HomebrewのWebサイトを表示します。
brew home [formula] パッケージのWebサイトを表示します。
brew list インストールしたパッケージのリストを表示します。
brew list [formula] インストールしたパッケージのファイルの場所を表示します。
brew info インストールしたパッケージのサマリーを表示します。
brew info [formula] 指定したパッケージの情報を表示します。
brew tap 追加したGitHubのリポジトリを表示します。
brew tap [user]/[repo] 指定したGitHubのリポジトリをHomebrewに追加します。
brew untap [user]/[repo] 指定したリポジトリをHomebrewから削除します。

その他のコマンドは少し内容が古いですが以下のサイトにまとめられています。参考にしてみてください。新しいコマンドなど調べるときは、ターミナルでman brewでマニュアルをみるのが確実です。

まとめ

Homebrewのインストール手順と使い方のまとめ

  • 動作環境の確認
  • Command Line Tools for Xcodeを入れる
  • 必要であればJavaも入れる
  • Homebrew本体を入れる
  • エラーがないか確認
  • PATHの設定
  • パッケージのインストール、アンインストール

パッケージを入れたらそれを使えるようにするために、また設定が必要な場合があります。例えば、rbenvなどです。以下のページを参考にしてみてください。

あとがき

MacBook Air を買ったのでパッケージ管理に Homebrew を入れてみました。使い方を調べて自分なりに解釈しましたが、違っているところがあれば教えて下さい。

久しぶりの更新です。これからBlog更新がんばります。