MacPortsは,OSのバージョンを上げたら入れ直し(migration)が必要。OS X El Capitanにアップグレードしたので,MacPortsを入れ直す。
El Capitanにアップグレードしたマシンでportコマンドを実行すると,
$ ~ takeshi$ sudo port -d selfupdate Password: Error: Current platform "darwin 15" does not match expected platform "darwin 14" Error: If you upgraded your OS, please follow the migration instructions: https://trac.macports.org/wiki/Migration OS platform mismatch
のようにエラーが出る。エラーメッセージにあるように,Migrationに従って入れ直す必要がある。
ただし,各パッケージのバイナリをビルドするサーバ(buildbot)が稼働していないので,バイナリはまだ提供されていない。選択肢は3つ。
職場のメインのマシンは,しばらくYosemiteのままにする。MacPortsのメンテナ・コミッタをしているので,El Capitanを試す必要がある。そこで自宅のマシンをEl Capitanにアップグレードした。iPhoneやiPadのOSをiOS 9にしたので,El Capitanのメモを使えるようにしたかったのもアップグレードの理由だ。
El Capitanの登場に合わせて,MacPorts 2.3.4がリリースされた。既にEl Capitan用のpkgインストーラがInstallationページに用意されているが,ここではsvnからrelease 2.3.4を取得してソースからコンパイルする。Installationページに説明されているように,XcodeをApp Storeから取得してライセンスを読んで,agree(とタイプする)しておく必要がある。
$ sudo xcodebuild -license
Xcode Betaを試したりして,複数のXcodeがある場合は,
$ sudo xcode-select -print-path
で確認し,必要に応じて
$ sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer
などとする。
MacPorts関連のファイルはホームの~/MacPortsに入れているので,そこに移動して作業開始。
$ cd ~/MacPorts
svnでリリース2.3.4を取得し,コンパイルの後,インストール。
$ svn co https://svn.macports.org/repository/macports/tags/release_2_3_4/base/ base_2_3_4 $ cd base_2_3_4 $./configure && make sudo make install
これでportコマンドが動作するようになった。MacPortsとport treeを更新。
sudo port -d self update
後はMigrationに従って作業する。まずはインストールされているものの一覧を書き出す。
$ port -qv installed > myports_yosemite.txt
ユーザがリクエストした(明示的にインストールを指示した)portの一覧を書き出す。
$ port echo requested | cut -d ' ' -f 1 > requested_yosemite.txt
インストールされているportを全てuninstallする。
$ sudo port -f uninstall installed
念のためビルドの残骸を削除する。
$ sudo rm -rf /opt/local/var/macports/build/*
インストールされていたportを復元するTclスクリプトをダウンロードする。ここでは~/MacPorts/binに格納している。
$ cd bin $ curl -O https://svn.macports.org/repository/macports/contrib/restore_ports/restore_ports.tcl $ chmod +x restore_ports.tcl $ cd .. $ sudo bin/restore_ports.tcl myports_yosemite.txt
リクエストの状態を復元する。
$ sudo port unsetrequested installed $ xargs sudo port setrequested < requested_yosemite.txt
jason より:
2015年12月16日 5:06 PM
非常に助かりました。今は、Migrationをしている最中….
ピンバック: [【Mac OSX】El CapitanでMacPortsをインストール | ](http://atomicbox.tank.jp/developer/1226/) |
2015年12月16日 5:06 PM
非常に助かりました。今は、Migrationをしている最中….