Homebrew:OS X用パッケージマネージャー

すべてのUnixパッケージマネージャーには特定の欠陥があり、ほとんどのLinuxディストリビューションはこれらの欠陥を異なる方法で回避しようとします。 この投稿では、使いやすさを目的とした新しいパッケージマネージャーであるHomebrewについて説明します。



Homebrewの前に、OS X用の効果的なパッケージマネージャーを作成するためのいくつかの異なる試みがありました。2つの最も人気のあるものはFinkMacportsになりましたが、それぞれにまだ鋭いコーナーがあります。 特に、両方で、独自のパッケージまたはポートの作成は複雑すぎます。



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に多くのドキュメントがありますgitflacなどのパッケージの作成例も見ることができます。



新しいパッケージを作成してコミュニティと共有したい場合、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を試してみてください。きっと驚くでしょう。



All Articles