はじめに

Macのパッケージ管理システムは、Macには、MacPorts、FinkやHomebrewがあります。

Windowsの場合、Windows10以降は、PackageManagementがあります。Linuxは、yumが有名です。

WindowsやLinuxなど他のOSから切り替えたなら、Macのパッケージ管理システムは馴染みがありません。

今回は、Macのパッケージ管理システムのHomebrewについて設定方法やダウンロードの方法などの解説です。


Homebrewとは

Homebrewはパッケージ管理ソフトです。MacユーザーにとってHomebrew、MacPortsとFinkは有名なパッケージ管理ソフトになります。

Homebrewは、インストール方法がとてもシンプルです。

他のパッケージ管理ソフトである、MacPortsやFinkと比べても簡単なため、初心者でもすぐに始められます。


Homebrewのインストール手順

Homebrewのインストール手順を紹介します。Homebrewは、他のパッケージ管理ソフトと比べてインストール手順がとてもシンプルです。

インストールに時間をかけずに始められるので初心者に向いているといえます。

準備からインストールの順とMacPortsから乗り換えたい場合についての紹介です。


準備

Homebrewのインストールはとても簡単です。MacPortsのように事前準備に時間がかかりません。

Homebrewをインストールするための準備は、Homebrewを導入したいPCとネット環境を整えるだけです。


インストール

Homebrewのインストールは非常にシンプルです。MacPortsのように予めdmgファイルをダウンロードしておく必要はありません。

また、事前にXcodeなどの準備も不要です。

Homebrewのインストールは、公式ホームページへアクセスし、指定のスクリプトをターミナルに貼り付けるだけです。

公式ホームページにアクセスするとトップ画面に指定のスクリプトがあるのでコピーします。

ターミナルを立ち上げたら指定のスクリプトをペースとして、実行で完了です。


MacPortsから乗り換えたい場合

現在、MacPortsを使っていて、Homebrewに変えたい場合は、まず、既存のMacPortsをアンインストールします。

保存しているディレクトリも削除が必要です。パッケージ管理ソフトのMacPortsとHomebrewを2つ保存することは不可能ではありません。

しかし、2つパッケージ管理ソフトがあるとメモリの使用量増加がリスクです。Homebrewへ乗り換える前に既存のものは、整理する必要があります。


Homebrew基本操作

Homebrewを操作するのはコマンド入力です。ここではHomebrewの基本操作、よく使うコマンドについて紹介します。

Homebrewは、コマンド入力時、brewと入力することが基本です。それに対して、MacPortsのコマンドは、portというワードを使います。

コマンドがHomebrewとMacPortsと類似しているところがあることにも注目です。

brewは、Homebrewのbrewを指します。ここでは、Homebrewの基本コマンドと注意点の紹介です。


基本コマンド

インストールされたパッケージを確認するコマンドになります。

‘package name’には、実際のパッケージ名を入力が必要です。

  1. $ brew installed

インストール可能なパッケージ一覧を確認するためのコマンドです。

  1. $ brew list

インストールしたいパッケージなどを探したい時に使う検索機能になります。

‘keywords’には、検索したいパッケージの名前を入力が必要です。

  1. $ brew search ‘keywords’

パッケージをインストールしたい場合は、下記のコマンドを使います。

‘package name’の中には、パッケージの名前が必要です。

  1. $ brew install? ‘package name’

パッケージをアンインストールしたい場合は、下記のコマンドを使います。

‘package name’の中には、パッケージの名前が必要です。

  1. $ brew uninstall? ‘package name’

パッケージをアップデートして最新のものにするためには、下記のコマンドを入力することでパッケージを最新版にすることが可能です。

  1. $ brew update

パッケージを個別アップデートしたい場合は、下記のコマンドを入力します。

‘package name’の中には、パッケージの名前が必要です。

  1. $ brew update ‘package name’

パッケージの更新があるかどうかを確認するためには下記のコマンドを使用します。

  1. $ brew outdated

パッケージの詳細を確認するためのコマンドは、下記になります。

‘package name’の中には、パッケージの名前が必要です。

  1. $brew info ‘package name’


注意点

パッケージをアップデートする際、すべてアップデートする場合と個別でアップデートする場合とコマンドが異なります。

すべてアップデーするのか、それとも個別なのかをしっかりと確認することが大切です。


Homebrewのメリット

Homebrewは、Macユーザーに人気のパッケージ管理ソフトです。Homebrewのメリットは、3つあります。

「インストールやアップグレード簡単」、「必要なソフトウェアが揃う」「ストレージ容量が大きい」です。それぞれのメリットについて解説していきます。


インストールやアップグレード簡単

Homebrewの最大のメリットは、インストールとアップグレードが簡単であることです。他のパッケージ管理ソフトの場合は、多少の時間を要します。

しかしHomebrewの場合は、下記のコマンドを入力するだけでインストールやアップグレードが可能です。

まず、パッケージをインストールする時のコマンドになります。package nameは、インストールしたいパッケージの名前が必要です。

  1. $ brew install ‘package name’

次に、アップグレードする時のコマンドになります。package nameは、アップグレードしたいパッケージの名前が必要です。

  1. $ brew upgrade ‘package name’


必要なソフトウェアが揃う

Homebrewは、MacPortsと異なり、必要なソフトウェアは、自動的にインストールしてくれます。

スクリプト化さえしておけば、新たな環境作りは不要です。ライブラリに登録されていれば、ダウンロードやアップグレードはスムーズに済みます。


ストレージ容量が大きい

Homebrewの場合、MacPortsに比べてストレージの容量が大きいことはメリットです。

MacPortsのように不要なパッケージを常に削除する手間はありません。

これは、HomebrewはOS依存なのに対して、MacPortsはパッケージ依存しているからです。

HomebrewのOS依存は手元にある資源から使うため、無駄に追加をしません。そのため、メモリ消費のリスクがMacPortsより少なくなるのです。


Homebrew以外のパッケージ管理ソフト

Homebrew以外にもMacOSに対応したパッケージ管理ソフトが色々あります。中でも人気があるのは、「MacPorts」と「Fink」です。

ここでは「MacPorts」「Fink」について解説します。


MacPorts

MacPortsは、MacOSやDarwinに対応したパッケージ管理ソフトです。アップルが開発しているに携わっているパッケージ管理ソフトになります。

スクリプト言語は、TCLという独自のものを使用していますが、ベースはC言語です。

MacPortsは、Homebrewと違い、ターミナルを介してパッケージを多く導入することが可能です。

ターミナルを立ち上げて、コマンドを入力するだけで導入できます。またMacPortsは、通常Mac OS Forgeに保管されています。


Fink

Finkは、Unixを対象としたパッケージ管理システムです。MacPortsやHomebrewが同じパッケージ管理システムとして比較対象になります。

Finkは、MacOSだけでなく、Darwinでも使えるように開発されたオープンソースです。Finkが使用するコマンドラインは、finkを使用します。

他に、Finkで使用されているコマンドラインは、Debianプロジェクトが開発したコマンドです。それは、dpkgとaptが使えます。

Finkが使用するスクリプト言語は、Perlです。


HomebrewとMacPorts比較

比較対象によく上がるHomebrewとMacportsを比較していきます。HomebrewとMacPortsは共に、MacOSに対応したパッケージ管理ソフトです。


使用言語

Macユーザーにはどちらも馴染みがあります。Homebrewは、Rubyです。MacPortsは、スクリプト言語がTCLになります。


インストール方法

Homebrewは、ダウンロードするにあたり、コードをターミナルに入力するだけです。

一方、MacPortsは、ダウンロードするために、予めパッケージを用意します。加えて、MacPortsをインストールするためには、Xcodeが必要になります。


サーバー

Homebrewは、自前のサーバーがありません。Gitにパッケージ管理を依存しているためです。

一方で、MacPortsは、自前のサーバーがあります。ここは大きな違いです。


HomebrewとFink比較

Macのパッケージ管理ソフトには、 HomebrewとMacPortsに並んでFinkの名前が必ずあがります。

ただ、FinkがHomebrewやMacPortsと根本的に異なるのが、MacOSよりLinuxやUnixに重点を置いて開発されたということです。

Finkのメリットは、コンパイルが自動化されていることやパッケージに機能が豊富なことになります。

加えて、LinuxやUnix用に開発されたツールなどを活用できるのもメリットです。

Homebrewに比べてツリーがかなり細かく管理が難しいところはデメリットになります。

しかし、細かな管理をしたいユーザーにはメリットです。ツリーが細かく管理されていることは、細かく管理したいユーザーにとっては、管理しやすくなります。


Homebrewのデメリット

Homebrewはメリットが多く、好んで使うエンジニアやMacPortsからの乗り換えユーザーも多く存在しています。

しかしHomebrewはメリットだらけではなく、デメリットもあります。ここではHomebrewのデメリットについての紹介です。


ライブラリの登録がないとインストールできない

Homebrewを使っているMacユーザーがネックに感じる最大のデメリットは、ライブラリに登録されていないとインストールできないことです。

これはパッケージをダウンロードしたい場合、必ずHomebrewに登録されてなければなりません。

もし登録されていない場合は、ダウンロードが不可能です。

また、常に更新しなければ、インストールしたパッケージのバージョンが最新でない可能性もあります。


ライブラリの管理が手間

Homebrewは、先ほど紹介した通り、ライブラリのパッケージが最新状態でなければなりません。

また、ライブラリに登録されてないパッケージはダウンロード不可です。

言い換えるとライブラリにあるパッケージが常に最新でなければなりません

ただ、ライブラリのアップデートがなかなか最新版にならないこともデメリットであり、ストレスです。


まとめ

Homebrewは、MacPortsのシェアを奪っていっている印象が一般的にあります。Homebrewは、初心者が使いやすいパッケージ管理ソフトです。

スクリプト言語がRubyなのは、MacPortsの独自のTCL言語に比べたら一般的に馴染みがあります。

MacPortsのメリットは、コミュニティがしっかりしているところです。パッケージ管理しやすいところもメリットです。

ただ、デメリットももちろんあります。しっかりと比較して使い勝手にいい方を選ぶことが大切です。

初めてパッケージ管理ソフトを使うなら、Homebrewの方が始めやすくなっています。