人気のあるmacOSパッケージマネージャHomebrewの最新リリースには、Linuxサポート、オプションの自動パッケージクリーンアップ、拡張バイナリパッケージのサポートが含まれている。
LinuxサポートはLinuxbrewプロジェクトからマージされたものだ。まだベータで、バージョン2.0でステーブルになる予定だ。また、Windows Subsystem for LinuxがインストールされたWindows 10システムでも、Homebrewを使えるようになった。
自動クリーンアップは、パッケージインストール時にHomebrewが生成する中間データをすべて削除することで、ディスク占有スペースを最適化することを狙っている。バイナリをインストールする代わりにソースからパッケージをビルドした場合、こうしたデータは膨大になる可能性がある。この動作はHOMEBREW_INSTALL_CLEANUP
をセットすることでオプトインされる。バージョン2.0でこれはオプトアウトになり、HOMEBREW_NO_INSTALL_CLEANUP
環境変数をセットすることで自動クリーンアップを無効にできる。
InfoQはプロジェクトメンテナーのMike McQuaid氏と話す機会を得た。
InfoQ: Homebrew 1.9で、LinuxとWindows 10のベータサポートが入りました。これらプラットフォームにHomebrewを展開する理由は何ですか? どんなユーザーにどんなメリットがあるのですか?
Mike McQuaid: 私たちはしばらく、自分のためにHomebrewをLinuxシステムで動かす必要がありました。それに、Linuxでの動作を公式にサポートしているLinuxbrewというプロジェクトもありました。私たちは最近、彼らとの連携を密にしており、2つのプロジェクトのパッケージマネージャ部分をマージすることに決めたのです。こうすることで作業を共有し、各プロジェクトが単独でやるよりも質の高いコードベースになります。
Linuxbrew(この名前は、Linux上のHomebrewを指す時にまだ使われることがあります)は、Linuxシステムにはアクセスできても、そのパッケージマネージャにアクセスできないユーザーにとって、特に便利です(例えば、HPC環境)。Homebrew(ひいてはLinuxbrew)は、インストール後にrootや
sudo
を使いません。そのため、rootアクセスなしに、マシン上のホームディレクトリからパッケージ管理ができます。
InfoQ: ユーザーコミュニティでHomebrewが成功するには、何が重要だと思いますか?
McQuaid: 簡単に使えて、品質が高く、強力なツールを提供することです。私たちにとって、コミュニティは極めて重要です。バグ修正とパッケージのメンテナンスはコミュニティが頼りだからです。
InfoQ: 2009年にHomebrewが誕生してから約10年、バージョン1.0になってから2年経ちました。macOSユーザーコミュニティでHomebrewが歩んできた道のりはどうでしたか?
McQuaid: macOSパッケージマネージャに対するニッチな変わったアプローチから、何百万ものユーザーが使用する複数のOSのための標準で評判のパッケージマネージャへと変貌を遂げました。
InfoQ: Homebrewのロードマップでエキサイティングなことを教えてくれますか?
McQuaid: Homebrew 2.0.0は
brew cleanup
を自動的に実行します。つまり、Homebrewはユーザーの介入なしに効果的にスペースの利用とキャッシュを管理します。
Homebrewは次のコマンドでインストールできる。
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
Homebrewは2009年にMax Howell氏によって作られ、2016年に1.0になった。このツールはRubyで書かれており、"formula"を使ってパッケージ依存関係を記述するためにドメイン固有言語を使用している。