OS X El Capitan にアップデートした際に MacPorts を動くようにする

More than 1 year has passed since last update.

sudo port selfupdate でエラーが発生する

$ sudo port selfupdate
Error: Current platform "darwin 15" does not match expected platform "darwin 14"
Error: If you upgraded your OS, please follow the migration instructions:
OS platform mismatch
    while executing
"mportinit ui_options global_options global_variations"
Error: /opt/local/bin/port: Failed to initialize MacPorts, OS platform mismatch



Migration – MacPorts

Xcode の最新版インストール

Xcode and the Xcode Command Line Tools のインストール

$ xcode-select --install
xcode-select: note: install requested for command line developer tools

Xcode license に同意する

$ sudo xcodebuild -license

Enter -> space space space ... -> agree


$ xcode-select --install
xcode-select: error: command line tools are already installed, use "Software Update" to install updates

MacPorts の最新版インストール

MacPorts のインストール

下記の OS X 10.11 El Capitan を選択。

The MacPorts Project -- Download & Installation


$ sudo port selfupdate
--->  Updating MacPorts base sources using rsync
MacPorts base version 2.3.4 installed,
MacPorts base version 2.3.4 downloaded.
--->  Updating the ports tree
--->  MacPorts base is already the latest version

The ports tree has been updated. To upgrade your installed ports, you should run
port upgrade outdated


$ sudo port upgrade outdated のように実行するとパッケージがアップグレードされても古いバージョンが残ってしまうが、$ sudo port -u upgrade outdated のように -u のオプションを付けて実行すると古いバージョンが残らない。

古い deactive されたバージョンを削除したい場合は $ sudo port uninstall inactive を実行。

$ sudo port upgrade outdated
Error: dyld-headers is obsolete; please uninstall it.
Error: org.macports.configure for port dyld-headers returned: obsolete port
Please see the log file for port dyld-headers for details:
Error: Unable to upgrade port: 1
To report a bug, follow the instructions in the guide:

( 自分の場合は ) 上記のエラーが出たので指示通り dyld-headers をアンインストールする。

$ sudo port uninstall dyld-headers
--->  Deactivating dyld-headers @239.3_0
--->  Cleaning dyld-headers
--->  Uninstalling dyld-headers @239.3_0
--->  Cleaning dyld-headers


$ sudo port upgrade outdated
--->  Updating database of binaries
--->  Scanning binaries for linking errors
--->  No broken files found.

ports が全てアップデートされているか確認

$ port outdated
No installed ports are outdated.