Mac デ Homebrew ノススメ

(Category : Dev, Mac)
このエントリーをはてなブックマークに追加

これはカシスソーダですけども
勝手にワインを想像する

2012.4.21全面改訂

Homebrewとは

HomebrewはMacPorts AlternativeなMac OS Xパッケージマネージャです。自家醸造酒を語源としており、Homebrewを通じて導入したパッケージはCellarディレクトリに管理されます。ちょっとオシャレ感あります←ココ大事

公式ウェブサイト最下にはHomebrewを端的に述べた一言が見受けられます。

※bee’s kneesは「飛び抜けて良いもの」という意味だそうです。

そんな素敵な評価をさせるHomebrewの特徴として、

  1. Rubyで記述されている
  2. MacPortsみたいにsudo port でパス入力…という毎回の手間が少ない
  3. Formulaと呼ばれるインストール用スクリプトは自作・カスタマイズ可能
  4. 各パッケージのバージョン管理はGitで行う
  5. OS標準ライブラリを活用する→余計なものを入れない→軽量化

などが挙げられます。MacPortsと比べて、一部の依存関係にはOS標準のものを使用するのでインストール時間が短縮されています。

目次

  1. システム要件を整備する
  2. Homebrewをインストールする…前に
  3. 今度こそHomebrewをインストールする
  4. Homebrewから色々インストールする
  5. Homebrewをアンインストールする

システム要件を整備する

今回はMacBook Air (2010)のOS X 10.7.3及びXcode 4.3.2上でテストしており、ターミナルのシェルはZshを用いていますので、.zshrcなどは適宜読み替えてください。

Homebrewの本体はGitHubに置かれており、インストール欄に書かれているシステム要求には、

  1. An Intel CPU
  2. OS X 10.5 or higher
  3. Command Line Tools for Xcode or Xcode with X11
  4. Java Developer Update

とあります。3番と4番に関しては、手に入れたばかりのMacには入っていないので、そちらの環境を整えましょう。

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

Command Line Toolsを入手する方法は2つあります。

ひとつはMac App StoreからXcodeを入手する方法です(要Apple ID)。Xcodeインストール後、同アプリの設定画面からCommand Line Toolsをインストールしましょう。

Command Line Tools...?

Xcodeの設定パネルより。Command Line Tools

もう一つは以下の方法。

XcodeからCommand Line Tools for Xcodeに切り替えたらHDD使用容量が7GB減った』Glide Note – glidenote’s blog

Command Line Toolsを収めた軽量版です。なんと約7GB近く容量を削減できる大変エコなパッケージですが、こちらはApple開発者登録が必要です。開発者登録は無料でも出来ますので、Apple Developer(日本語)までどうぞ。

Java Developer Updateの用意

HomebrewにとってJDKは必須ではないのですが、一部のアプリケーションで使用することがあるので入れておいたほうがいいとのことです。

Lion以降は標準ではJava SEも入っていないので、まずはこちらから入れます。Lion以降でJava SEを入れる方法は以下の手順です。

Java SE

  1. ApplicationsフォルダのUtilityフォルダへ移動する
  2. UtilityフォルダにあるJava Preference.appを起動する
  3. Java SEをインストールするか確認されるので、同意してインストールする

以上は初回のみの動作です。

JDK

そしてもうひとつ、Java Developer Update for MacはDownloads for Apple Developer(要Apple開発者ID)にあります。実行手順は以下のリンク先が詳しいので、そちらを参考にしてください。

[Mac][Java]Mac OS X 開発環境構築手順:Java実行環境(jdk6)インストール』Shinya’s Daily Report

ようやくHomebrewをインストールする…前に

Homebrewは/usr/localフォルダ以下にインストールされるので、

$ sudo mkdir /usr/local

として、予め/usr/localディレクトリを作成しておきましょう。既に/usr/localに何かがインストールされている場合は、中身を十分に確認してから、出来れば削除して/usr/localディレクトリを空っぽにすることを推奨します。

あとPATHの設定をしましょう。

$ vi .zshrc

export PATH=$(brew --prefix)/bin:$(brew --prefix)/share:$PATH

$ source .zshrc
$ echo $PATH
/usr/local/bin:/usr/local/share:/usr/bin:...

Homebrewで入れたパッケージを優先的に使うためには/usr/binより/usr/local/binがPATHリストの左側になければなりません。

ちなみにPATHに/usr/local/shareがあるのは、Pythonなど一部のパッケージでこのディレクトリを参照するからです(例えばPythonを入れると/usr/local/share/pythonにeasy_installを用意します)。

今度こそHomebrewをインストールする

面倒なシステム要件の調整を経て、ようやくインストールです。

インストールはとても簡単で、ターミナルから

$ /usr/bin/ruby -e "$(/usr/bin/curl -fksSL https://raw.github.com/mxcl/homebrew/master/Library/Contributions/install_homebrew.rb)"

と打ち、後はエンターを押していくだけでインストール完了です。
Homebrewのインストールに関する項目欄で説明されていますが、バージョンアップ等でコマンドが変更される可能性もあります。

Homebrew本体をインストールしたら、Gitとの導入と初期化だけやっておきましょう。

$ brew install git
$ brew update

なお、brew updateコマンドはHomebrew本体のアップデート、及び各フォーミュラのアップデートにも用いますので、定期的に使用して最新状態を保つようにしましょう。

Homebrewから色々インストールする

Homebrewのインストールはこれで完了です。これからいよいよ好きなパッケージをインストールしていきましょう。

$ brew install emacs --cocoa --srgb
$ brew install macvim --with-cscope

このようにしてHomebrewからコマンドを入れることが可能です。

Homebrewのコマンド

検索コマンド

Homebrewでパッケージを探すときには以下とコマンドのどちらかを用います。

$ brew -search hoge
$ brew -S hoge

-SのSは大文字なので注意しましょう。

インストール済パッケージの参照

インストール済のパッケージを参照するのは以下のコマンドです。

$ brew list
$ brew ls

コンパイラオプション

インストールにおけるコンパイラオプションは以下のとおりです。

$ brew install --use-gcc hoge
$ brew install --use-llvm hoge
$ brew install --use-clang hoge

これらはbrew経由でパッケージ導入の際にどのコンパイラを使うか、という選択肢になります。Xcode4.3以降はGCCが廃止され、Clangが標準のビルドコンパイラになると同時にMacの中から消えてしまいました。よってXcode4.3以降の環境においては–use-gccは事実上無効です。

パッケージによってはデフォルト(Clang)ではうまくいかない時があり、その際には–use-llvmを使ってみましょう。

※なお、Lion以降のGCCが無くなった痛手は大きく、現在においても一部のパッケージがGCCにしか対応していないせいでLLVMでもClangでもインストールできず、手を出せないパッケージがいくつか存在します。時間が開けばパッケージが更新されて解決されることもあるので、どうしても上手くいかない時は待つのも手だと思います。

エラーチェック

何かHomebrewを使っていて不具合がある場合は、

$ brew doctor

を使って環境チェックをしてみましょう。Homebrewのバージョンが低かったり、PATHが通っていない等エラーがある場合は報告してくれます。

その他コマンド

あと代表的なHomebrewのコマンドをいくつか。

$ brew uninstall hoge  //パッケージのアンインストール
$ brew rm hoge  //uninstallコマンドと同じ
$ brew outdated  //古くなったパッケージをリストアップ
$ brew upgrade (hoge)  //パッケージを最新状態にする
$ brew cleanup  //旧バージョンを削除する
$ brew prune  //デッドリンクを削除する

非公式フォーミュラはどうしよう

VimやGCC, PHP等一部のパッケージは非公式扱いされていますが、Tapコマンドを使うことによって、管理することが可能になります。

$ brew tap homebrew/dupes
$ brew tap josegonzalez/php

Tapコマンドではuser/repositoryと指定します。上記の例で言うと、homebrewユーザのdupesリポジトリと、josegonzalezユーザのphpリポジトリを入手してきました。このコマンドは以下のリンク先が更に詳しく説明されています。

これは便利!Homebrewに追加されたtapコマンドはリポジトリを追加して簡単にフォーミュラを増やせる』 Macとかの雑記帳

Coffee Scriptの淹れ方

最近ちょくちょく使い出したCoffee Scriptの淹れ方をメモ程度に。

ちょっと前までHomebrewにCoffee Scriptがあったんですが、仕様変更があったらしく、現在はありません。どうやらNode関連の技術はNPM(Node Package Manager)という別のパッケージマネージャによって管理されることになったらしく、そちらから入手する必要があるようです。

$ brew install node
$ sudo curl http://npmjs.org/install.sh | sh
$ vi .zshrc

export NODE_PATH=/usr/local/lib/node_modules

$ source .zshrc
$ npm install -g coffee-script

若干面倒な手順ですが、これでCoffee Scriptのインストールは完了です。

Homebrewをアンインストールする

とはいえ、やっぱりMacPorts或いはFinkがいい!ということもあると思います。また、Homebrewを新たに入れ直したいこともあると思います。

Homebrewの索状にはUninstall Homebrewのシェルスクリプトを使います。実行は以下のコマンドで可能です。

$ sudo curl https://raw.github.com/gist/1173223/a833ba44e7be8428d877e58640720ff43c59dbad/uninstall_homebrew.sh | sh

コレを実行すると、インストール済みのフォーミュラや/usr/local以下のファイルやディレクトリが削除されます。ただし、Zshに追記したPATHなどはそのままですので、削除する場合は.zshrcの中身は手動で修正しましょう。

参考

このエントリーをはてなブックマークに追加