Homebrewの前に、OS X用の効果的なパッケージマネージャーを作成するためのいくつかの異なる試みがありました。2つの最も人気のあるものはFinkとMacportsになりましたが、それぞれにまだ鋭いコーナーがあります。 特に、両方で、独自のパッケージまたはポートの作成は複雑すぎます。
Homebrewでは、蒸したカブよりも新しいパッケージを作成して作業する方が簡単です。 見てみましょう。
それは何をしますか?
基本的な考え方は非常に簡単です。 Homebrewは、パッケージのダウンロードとビルドの単調なステップを簡素化および自動化します。
./configure && make && make install
に飽き飽きしているなら、Homebrewが役立ちます。
なんで?
前述したように、OS XにはFinkとMacPortsの2つのソリューションが既にあります。 既にそれらのいずれかをインストールしていて、すべてに満足している場合は、素晴らしいです。 しかし、過去に悪い経験をしたことがあるなら、Homebrewを試すことを強くお勧めします。 彼のほうがずっと簡単です。 さらに、数百行のRubyコードのみで構成されているため、簡単に変更できます。
Homebrewは厳密な構造とパスを強制しません。 デフォルトでは、
/usr/local
インストールされますが、どこにでもインストールできます。 すべてのパッケージは、
Cellar/git/1.6.5.4/
などの特別な「セラー」のディレクトリにインストールされます。 インストール後、Homebrewは標準のUnixディレクトリへのシンボリックリンクを作成します。 Homebrew以外からのいくつかのパッケージの手動インストールは、それらとうまく調和します。
これが必要になることはめったにありませんが、パッケージはバージョン管理システムから直接インストールできます。 パッケージに公開git、svn、cvsまたはmercurialリポジトリがある場合、簡単な
brew install
して、そこからいつでも最新の開発バージョンをビルドできます。
ところで、Homebrewはパッケージの重複を避けようとするため、インストールにかかる時間が短くなります。 たとえば、システムにはすでにPerlの準備ができて動作しているため、次のバージョンのPerlを依存関係として配置しません。 さらに、Homebrewは、パッケージを操作するときにsudoを使用する必要がないように設計されています。
いいですね。 インストール方法は?
Homebrewの最初で唯一の依存関係はOS X Developer Toolsです 。これは、すべてのOS Xインストールディスクで利用可能で、Appleから無料でダウンロードできます。
最も簡単な方法は、
/usr/local
にインストールすることです。 これは非常に簡単に行うことができます:
# /usr/local , sudo
sudo chown -R `whoami` /usr/local
# mysql,
sudo chown -R mysql:mysql /usr/local/mysql
# Homebrew
curl -L github.com/mxcl/homebrew/tarball/master | tar xz --strip 1 -C /usr/local
すべてのインストールが完了しました。 すべてが機能することを確認しましょう。
brew install wget
brew info git
Homebrew WebサイトにはWikiがあり、Rubygems、CPAN、Python EasyInstallとの統合に関するあらゆる興味深いことを読むことができます。
Homebrewの更新についていくのも非常に簡単です:
brew install git
brew update
gitがインストールされている場合、Homebrewリポジトリをいつでも更新して、最新のパッケージをインストールできます。
パッケージの作成はほぼ同じくらい簡単です。 たとえば、Homebrewにwgetパッケージがない場合、作成は次のようになります。
brew create ftp.gnu.org/gnu/wget/wget-1.12.tar.bz2
パッケージを保存した後、テストできます:
brew install -vd wget
。 何かが正常に機能せず、パッケージの構成にヘルプが必要な場合は、 wikiに多くのドキュメントがあります 。 gitやflacなどのパッケージの作成例も見ることができます。
新しいパッケージを作成してコミュニティと共有したい場合、github gemを使用してこれを行うのも非常に簡単です。
gem install json github
git add .
git commit -m "Added a formula for wget"
github fork
git push <___github> mastergitx
プッシュを行った後、テーマ「新しい式:<package_name>」を使用して、 Homebrew課題トラッカーに新しいチケットを作成する必要があります。 すべてがそこにある場合、パッケージはHomebrewリポジトリに追加され、すべてのユーザーが利用できるようになります。
まとめ
Homebrewは、FinkとMacPortsの適切な代替手段です。 彼自身とすべてのパッケージスクリプトはRubyで記述されているため、新しい機能とパッケージの追加は非常に簡単です。 柔軟で便利なパッケージマネージャーが必要な場合は、Homebrewを試してみてください。きっと驚くでしょう。