パッケージ管理したい(port)

$ port search パッケージ名
$ port variants パッケージ名
$ port install パッケージ名
$ port uninstall パッケージ名

portは、MacPortsを使ってパッケージ管理するコマンドです。 Unix系のツールやライブラリ環境をmacOS上に構築できます。 variantsを変更することで、ツールごとの微調整が可能です。

注釈

このページは、僕の歴史的なメモとして残しています。 大学院生だった2009年から2014年ころまではMacPortsを使ってパッケージ管理していました。 その後、新しくmacを買い替えた際にHomebrewに完全移行したため、現在は利用していません。

注釈

MacPortsは、2009年にHomebrewが登場するまで、macOS向けのパッケージ管理ツールの定番のひとつとして広く使われていました。

2002年にDarwinPortsという名前で始まったプロジェクトで、2005年にバージョン1.0がリリースされ、 2006年に現在の名前(MacPorts)になりました。

現在も開発が継続しており、2025年10月にはバージョン2.11.6、2026年にも2.12系がリリースされています(MacPorts公式サイト)。 最新のmacOS(Tahoe)にも対応しており、Apple SiliconとIntelの両方で使えます。

インストールしたい(MacPorts)

MacPorts公式サイトのインストール手順にしたがって、MacPortsをインストールしてください。

パッケージをインストールしたい(port install)

$ sudo port install パッケージ名

port installで、指定したパッケージをインストールできます。 パッケージに必要な依存関係も自動的にインストールされます。

注釈

MacPortsは、ソースコードからビルドするため、インストールに時間がかかることがありました。 最近では、ビルド済みのバイナリを優先的に探すようになっており、インストールにかかる時間は短縮されています。

注釈

バイナリが用意されていないパッケージや、variantsをカスタム指定した場合などは、その場でソースコードからビルドされるため、インストールに時間がかかることがあります。

バリアントを確認したい(port variants)

$ port variants パッケージ名

port variantsで、指定したパッケージで選択できるバリアント(オプション機能)を確認できます。 バリアントは、標準では有効になっていない追加機能を有効にしたり、逆に標準の機能を無効にしたりするためのオプションです。

// バリアントを有効にする
$ sudo port install パッケージ名 +バリアント名

// バリアントを無効にする
$ sudo port install パッケージ名 -バリアント名

+バリアント名でバリアントを有効にしてインストールでき、-バリアント名で標準では有効なバリアントを無効にできます。

注釈

variantsをカスタム指定した場合、その場でソースコードからビルドされるため、インストールに時間がかかります。

パッケージの詳細を調べたい(port info)

$ port info パッケージ名

port infoで、指定したパッケージの詳細情報を表示できます。 パッケージの説明や依存パッケージ、提供元ウェブサイトなどを調べることができます。

パッケージを更新したい(port upgrade)

// ポートツリー(パッケージリスト)を更新する
$ sudo port selfupdate

// 更新が必要なパッケージを表示する
$ port outdated

// パッケージを更新する
$ sudo port upgrade outdated

sudo port selfupdateで、MacPortsが参照するポートツリーを最新の状態に更新できます。 パッケージ自体は更新されません。

port outdatedで、更新が必要なパッケージを一覧できます。

sudo port upgrade outdatedで、更新があるパッケージをすべて更新できます。 sudo port upgrade パッケージ名で、指定したパッケージだけを更新することもできます。

インストール済みパッケージを確認したい(port installed)

$ port installed

port installedで、インストール済みのパッケージ名を一覧できます。

パッケージを削除したい(port uninstall)

$ sudo port uninstall パッケージ名

port uninstallで、インストール済みのパッケージを削除できます。

不要なファイルを削除したい(port clean)

// 古いバージョンやビルドファイルを削除する
$ sudo port clean --all パッケージ名

// 使われなくなった依存パッケージをまとめて削除する
$ sudo port uninstall leaves

port cleanで、ビルド時に残ったファイルやキャッシュを削除できます。

port uninstall leavesで、依存関係だけでインストールされていて、今はどこからも参照されなくなったパッケージ(leaves)をまとめて削除できます。