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を試してみてください。きっと驚くでしょう。

Source: https://habr.com/ru/post/J84217/


All Articles