37. Homebrew Demystified: OS X’s Ultimate Package Manager
【所要時間】
1時間13分(2018年8月21日)
【概要】
Homebrewについて
【要約・学んだこと】
What is Homebrew?
HomebrewはOS Xのパッケージマネージャーのこと。
Packages
Packageはソフトウェアの開発者に配布されたソースコードの束のこと。マシンにコンパイルしてインストールすることができる。
それらは様々なファイルで圧縮されたアーカイブ(zipと違うわけではない)より少ない。
packageは”installable(インストール可能)”と呼ばれる特別な機能を持つ。
つまりパッケージはインストール可能なソースコードの束のことだ。
ソースコードのバンドルをマニュアルでダウンロードし、インストールしようとすると、インストールに手間がかかるし、バージョン違いなどの前提条件を満たさず失敗しやすい。
そのようなソフトウェアの一例として、 Imagemagick がある。Imagemagickはライブラリで、imageの操作をコマンドラインツールでできる。素人の言葉で言えば、ターミナルアプリケーションにコマンドを入力することで、様々な画像を編集するのに役立つ一連のプログラムだ。
ライブラリは他のプログラムでも使うことができる。つまり言語のための追加のアップグレードをインストールすれば、Imagemagickのコマンドを、JavaやPHPで開始することができる。
このライブラリをインストールするのは簡単だ。インストーラーバイナリをダウンロードし、実行するだけだ。しかし、ソフトウェアを最新の状態に保つのは簡単ではない。似たようなライブラリをたくさんインストールし、どこに置いたのかがわからなくなる。ここでpackage managerの出番だ。
Package Manager
パッケージマネージャは1つのシンプルなコマンドで上記の全てを操作するアプリだ。
What Does a Package Manager Do?
- 1つのコマンドを入力として受け取り、インストールしたいソフトウェアパッケージを特定する。
- パッケージのソースコードをダウンロードする。(Finkの場合、pre-built application)
- dependencyが存在するかどうか判断し、もしそうであればそれらもダウンロードする。
- ソースコードファイルからdependencyをコンパイル(build)し、それらをインストールする。
- 要求されたソフトウェアを構築する。
- 定義済みの場所にインストールする。
したがって、前述したImagemagickをHomebrewにインストールするのは、brew install imagemagickを実行するのとおなじくらいシンプルなことだ。
Homebrew Installation and Specifics
Homebrewをインストールした。
brew doctorを実行すると、Hombebrewが自己診断を実行し、全てが正常に動作しているかどうかレポートをする。おかしい点の詳細を教えてくれるので、すぐに修正できる。
Tats-MacBA-4:~ AsamiTasuya$ brew doctor
Your system is ready to brew.
次に brew update で新しいformulae をダウンロードする。brew updateはHomebrewのアップデートだ。
formulaeは特定のソフトウェアをどうやってインストールするか、どこで必要なファイルやdependencyを見つけるかのインストラクションである。
Tats-MacBA-4:~ AsamiTasuya$ brew update
Updated 1 tap (homebrew/core).
==> New Formulae
luarocks
==> Updated Formulae
gmt@4 lua lua@5.1 php@7.1
Tats-MacBA-4:~ AsamiTasuya$ brew update
Already up-to-date.
brew upgradeはインストールされたソフトウェアのアップデートだ。
Imagemagickを最新のものにアップデートしたければ、brew upgrade imagemagick とコマンド入力するだけでいい。
インストールされているすべてのformulaeをアップグレードするなら、brew upgrade とコマンド入力する。これは自動的に全ての”Cellar”をチェックし、新しいバージョンに置き換える。
imagemegickのformulaをアンインストールしたいなら brew unistall imagemagick とコマンド入力すればいい。
Jose Gonzales’ PHP-related brew repository は、PHPをHomebrewでインストールすることを可能とするので、PHP postの複雑さを必要としない。
他には brew tap というコマンドもある。brew tap josegonzalez/homebrew-phpとコマンドする。 “opens a tap” というコマンドで、Homebrewが他のformulaeのレポジトリを読む。これはインストールできるソフトゥエアの幅を広げる。
【わからなかったこと】
なし
【感想】
このようなソフトが存在することを知らなかった。また今まで存在してほしいと思うこともなかった。