パッケージ管理したい(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 search)
$ port search 検索パターン
// 例:ブラウザを検索
$ port search browser
port searchで、MacPortsで管理されているパッケージ(ポート)を検索できます。
パッケージの詳細を調べたい(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)をまとめて削除できます。