HomeBrewは最近登場したMacOS X用パッケージマネージャ。同様なものにはMacPortsやfinkがあるが、以下のような点はHomeBrew独特のものだ。
- perlやrubyなどMacOS Xに最初からインストールされているものがあれば、積極的にそれを使用する。(例えばMacPortsはperlやrubyを必要とするパッケージがあれば、OSに入っているそれらを使わずに、わざわざMacPorts専用のperlやrubyをインストールするように作られている。)
- パッケージのルール(Formulaと呼ぶ)がrubyで書かれる。
- パッケージのインストール先として標準的な/usr/local/を使う。
これまではMacPortsのお世話になっていたが、MacPortsの複雑さ、OSにバイナリが存在するものまでいちいちコンパイルをしなければならない面倒さに何とかならないかと思っていたのでHomeBrewに移行してみることにした。
MacPortsのアンインストール
ガイドを参考に一気に
sudo port -f uninstall installed
sudo rm -rf \ /opt/local \ /Applications/DarwinPorts \ /Applications/MacPorts \ /Library/LaunchDaemons/org.macports.* \ /Library/Receipts/DarwinPorts*.pkg \ /Library/Receipts/MacPorts*.pkg \ /Library/StartupItems/DarwinPortsStartup \ /Library/Tcl/darwinports1.0 \ /Library/Tcl/macports1.0 \ ~/.macports
HomeBrewのインストール
Installationを参考にこのような感じで。
ruby -e "$(curl -fsSLk https://gist.github.com/raw/323731/install_homebrew.rb)"
パッケージのインストール
いつも使っているものを次々とインストール
brew install lv # などなど
FDcloneをインストールする
有ればあったで便利なファイラーFDcloneはHomeBrewのパッケージには存在しないが、HomeBrewならば簡単に追加することができる。
以下のようにアーカイブのURLを引数にcreateコマンドを実行する。
brew create http://hp.vector.co.jp/authors/VA012337/soft/fd/FD-3.00j.tar.gz
Formula名(パッケージ名)を聞かれるのでfdcloneと入力。
formula name [FD-3.00j]: fdclone Warning: Version cannot be determined from URL. You'll need to add an explicit 'version' to the formula.
エディタが開くのでFormulaファイルを編集する。とは言っても最初からある程度内容が自動的に記述されているので、必要に応じて変更・追加する程度。今回は以下のようにしてみた。
require 'formula' class Fdclone <Formula url 'http://hp.vector.co.jp/authors/VA012337/soft/fd/FD-3.00j.tar.gz' homepage 'http://hp.vector.co.jp/authors/VA012337/soft/fd/' md5 '9e12c8a1480cc5f535bf6df852a0defc' version '3.00j' # depends_on 'cmake' def install system "make", "PREFIX=#{prefix}" system "make MANTOP=#{man} install" system "make MANTOP=#{man} jcatman" end end
ここまでできたら、あとは普通にinstallコマンドを叩く。
brew install fdclone
気になった点
- MacPortsでは可能だった日本語manが表示できない。MacPortsのGNU groffは日本語に対応しているが、MacOS Xのgroffは日本語に対応していない。従ってHomeBrewパッケージの日本語manも表示ができない。
- sshfsが動かない。原因は今のところ不明。