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付きの場合は古いものが消去されるので楽である.