MacPortsのパッケージは,コミッタ,パッケージ管理者そしてユーザ有志の努力により,絶えず更新が続いている.

インストールされているものがパッケージよりも古くなったものの一覧は

port outdated

とすると表示される.

MacPortsのパッケージを更新するときのコマンドはport upgradeである.特定のパッケージfooを更新するには,

sudo port upgrade foo

とする.すべてを更新するには,

sudo port upgrade outdated

とする.upgradeをする前に

sudo port sync

をして,ソースツリーを更新しておく.

更新したパッケージやそれに依存するパッケージなど旧バージョンはdeactivateされ消されずに残る.更新をするたびに「ごみ」がたまっていく.既定で古いものを残すようにしているのは,新しいパッケージが動くことを確認してから古いものを消せばよいからである.

port -u uninstall

とすると「ごみ」をすべて清掃してくれる.古いものを残す必要がないときは,

port -u upgrade foo

とすると旧バージョンは消去される.更新対象のfooは,最上位に位置する「大物」だと依存するライブラリも更新され,-u付きの場合は古いものが消去されるので楽である.