技術関係メモ

インストール

下記よりダウンロード&インストール

The MacPorts Project

アンインストール

macports を止めるとき。

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

port -pf uninstall installed

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

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

コマンドリファレンス

こんなにたくさんある。 実行時は 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

使いそうなものをピックアップ。

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

OS のバージョンを上げたら

こんなエラーが出た。

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 にあるように、まずは MacPortsのサイト から、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