[[技術関係メモ]]

* インストール [#afd41d8f]
下記よりダウンロード&インストール

[[The MacPorts Project:http://www.macports.org/]]

* アンインストール [#xedc1210]

macports を止めるとき。

以下で、port によりインストールされた全てが削除される。

 port -pf uninstall installed

この他、/opt/local ディレクトリは確認してから丸ごと削除して良い。

それと、 ~/.bash_profile に Macports 関連の定義があるので、それを削るのと、同ファイルのバックアップファイルがホームに残っているのでそれも削除。


* コマンドリファレンス [#re4c9776]

こんなにたくさんある。
実行時は root 権限が必要(全部かどうかは知らない)なので、sudo つけて実行。

 activate, archive, archivefetch, build, cat, cd, checksum, clean, configure,
 contents, deactivate, dependents, deps, destroot, dir, distcheck, distfiles,
 dmg, dpkg, echo, edit, exit, extract, fetch, file, gohome, help, info,
 install, installed, lint, list, livecheck, load, location, log, logfile,
 mdmg, mirror, mpkg, notes, outdated, patch, pkg, platform, portpkg,
 provides, quit, rdependents, rdeps, rev-upgrade, rpm, search, select,
 selfupdate, setrequested, space, srpm, submit, sync, test, unarchive,
 uninstall, unload, unsetrequested, upgrade, url, usage, variants, version,
 work

使いそうなものをピックアップ。
|コマンド|説明|h
|selfupdate|MacPorts 自身とリストを更新|
|list installed|インストール済みパッケージを表示|
|search|パッケージを探す|
|install|インストール(+オプション名(variants)が使える|
|uninstall|アンインストール|
|variants|variants を表示|
|activate|有効化|
|deactivate|無効化(面白い機能だ)|
|outdated|更新版有無チェック|
|upgrade <pkg>|指定パッケージを更新|
|upgrade installed|インストール済みパッケージを全部更新|

* OS のバージョンを上げたら [#w6446c25]

こんなエラーが出た。

 bash-3.2$sudo port
 Password:
 Error: Current platform "darwin 17" does not match expected platform "darwin 16"
 Error: If you upgraded your OS, please follow the migration instructions: 
 https://trac.macports.org/wiki/Migration
 OS platform mismatch
     while executing
 "mportinit ui_options global_options global_variations"
 Error: /opt/local/bin/port: Failed to initialize MacPorts, OS platform mismatch

対処は、[[https://trac.macports.org/wiki/Migration:https://trac.macports.org/wiki/Migration]] にあるように、まずは [[MacPortsのサイト:https://www.macports.org/install.php]] から、High Sierra に対応した最新版のパッケージをダウンロードし、ファイルをダブルクリックする(pkgファイルなので、GUIでダブルクリックで)。

わりと時間かかる。
「パッケージスクリプトを実行しています」が表示されてから数分待った。

プログレスバーが進まないので、トラブルかと思った。

パッケージが入ったら、これまでインストールしたものをいったんアンインストールして、入れ直す。手順は以下。

 # port -qv installed > myports.txt
 # port echo requested | cut -d ' ' -f 1 > requested
 # port -f uninstall installed
 (いろいろアンインストールされる)
 # sudo rm -rf /opt/local/var/macports/build/*
 # curl --location --remote-name \
    https://github.com/macports/macports-contrib/raw/master/restore_ports/restore_ports.tcl
 # chmod +x restore_ports.tcl
 # ./restore_ports.tcl myports.txt

ここでエラーが出た。

 # ./restore_ports.tcl myports.txt
 Warning: Skipping dyld-headers (not in the ports tree)
 Warning: All compilers are either blacklisted or unavailable; defaulting to first fallback option
 Warning: Skipping perl5.12 (not in the ports tree)
 Warning: The Xcode Command Line Tools don't appear to be installed; most ports will likely fail to build.
 Warning: Install them by running `xcode-select --install'.
 Error: It seems you have not accepted the Xcode license; most ports will fail to build.
 Error: Agree to the license by opening Xcode or running `sudo xcodebuild -license'.
 Warning: The Xcode Command Line Tools don't appear to be installed; most ports will likely fail to build.
 Warning: Install them by running `xcode-select --install'. 
 (略)

メッセージにあるとおり、xcode-select を実行すると、Xcode のコマンドラインツールのインストールを進められるため、それに従ってインストールする。

終わったら、再度さっきのコマンドを実行。

 # ./restore_ports.tcl myports.txt
 Warning: Skipping dyld-headers (not in the ports tree)
 Warning: All compilers are either blacklisted or unavailable; defaulting to first fallback option
 Warning: Skipping perl5.12 (not in the ports tree)
 Error: It seems you have not accepted the Xcode license; most ports will fail to build.
 Error: Agree to the license by opening Xcode or running `sudo xcodebuild -license'.
 Error: It seems you have not accepted the Xcode license; most ports will fail to build.
 Error: Agree to the license by opening Xcode or running `sudo xcodebuild -license'.

ライセンス許諾を受け入れるよう指示があるので、これを実行する。

 # xcodebuild -license
 You have not agreed to the Xcode license agreements. You must agree to both license agreements below in order to use Xcode.
 Hit the Enter key to view the license agreements at '/Applications/Xcode.app/Contents/Resources/English.lproj/License.rtf'
 (EULAが流れる)
 By typing 'agree' you are agreeing to the terms of the software license agreements. Type 'print' to print them or anything else to cancel, [agree, print, cancel] agree
 You can view the license agreements in Xcode's About Box, or at /Applications/Xcode.app/Contents/Resources/English.lproj/License.rtf

またさっきのコマンドを実行。今度は進んだ。

 # ./restore_ports.tcl myports.txt
 Warning: Skipping dyld-headers (not in the ports tree)
 Warning: Skipping perl5.12 (not in the ports tree)
 --->  Fetching archive for apr
 --->  Attempting to fetch apr-1.6.3_0.darwin_17.x86_64.tbz2 from http://kmq.jp.packages.macports.org/apr
 --->  Attempting to fetch apr-1.6.3_0.darwin_17.x86_64.tbz2.rmd160 from http://kmq.jp.packages.macports.org/apr
 --->  Installing apr @1.6.3_0
 --->  Cleaning apr
 (略) (延々と続く)

これで終わり。

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS