最近のMacを弄っていると驚くほどUNIXなことに気がつく。
MacPortsもそんな一つ。
http://www.macports.org/
これはFreeBSD由来のPorts CollectionのMac版で、そのOSで使えるUNIXプログラムのソースコードを取ってきて、設定、およびインストールをしてくれると言う優れもの。
今回はその使い方をメモついでに書いておくことに。
(よく手帳を読み返すんだよね、これ。。)
準備するもの。
- OSX 10.4 以降が走るMac
- OSX 10.4 以降のMacOS X
- ネット環境
- Xcodeの最新版
最低でもこれくらいは必要かと。
で、総本山に行って、最新版のMacPortsを落としてくる。
http://www.macports.org/install.php
ここの「Mac OS X Package (.pkg) Installer」と書いてある場所の該当OSをクリック。

で、dmgからインスコしてとりあえずインストール完了。
更に、シェルにパスを通さないとportとだけ書いても動かないので、下記の記述を.bashrcなどに追加する。
(ついでにマニュアルも記述しておく)
export PATH=/opt/local/bin:/op/loca/sbin:$PATH export MANPATH=/opt/local/man:$MANPATH
あとはインストールしたいUNIXツールを見つけたら
% sudo port install ソフトウェア名
と言った感じ。
こっから先はコマンドリファレンス的なもの。
MacPorts自体のアップデート
% sudo port selfupdate
-v で詳細つき。
% sudo port -v selfupdate
ports listのみ更新(-d でデバッグ表示)
% sudo port sync
ソフトウェア検索(一部分でも可)
% port search ソフトウェア名(又はその一部)
例
% port search sql
BiggerSQL @1.3.8 (aqua, databases)
SQL front-end to the postgresql DBMS
BigSQL @1.0 (aqua, databases)
postgresql psql-like client in cocoa
caml-pgocaml @1.1 (devel, ocaml)
Type-safe OCaml-interface to the PostgreSQL-database
(中略)
tclsqlite2 @2.8.17 (devel, databases, tcl)
TCL bindings for the SQLite embedded database engine
tsung @1.3.0 (erlang, devel)
Load test tool for HTTP, PostgreSQL, Jabber and others.
Found 139 ports.
ソフトウェアの情報を表示
% port info ソフトウェア名
例
% port info git-core git-core @1.6.5.2 (devel) Variants: bash_completion, [+]doc, gitweb, svn Description: Git is a fast, scalable, distributed open source version control system focusing on speed and efficiency. Homepage: http://git.or.cz/ Library Dependencies: curl, zlib, openssl, expat, libiconv Runtime Dependencies: rsync, perl5, p5-error Platforms: darwin License: unknown Maintainers: bryan@larsen.st, maccheck@gmail.com, openmaintainer@macports.org
ソフトウェアのコンパイルオプションを表示
% port variants ソフトウェア名
例
% port variants git-core git-core has the variants: bash_completion: Completion support for bash [+]doc: Install HTML and plaintext documentation gitweb: Install gitweb.cgi svn: Bi-directional subversion repository support
ソフトウェアの依存関係を表示
% port deps git-core
例
% port deps git-core Full Name: git-core @1.6.5.2+doc Runtime Dependencies: rsync, perl5, p5-error Library Dependencies: curl, zlib, openssl, expat, libiconv
ソフトウェアのインストール
% sudo port install ソフトウェア名
オプションを付ける場合の例
% sudo port install git-core +gitweb + svn
ソフトウェアのアンインストール
% sudo port uninstall ソフトウェア名
インストール済みのソフトウェアを一覧表示
% port installed
インストール済みのソフトウェアの中で、更新されたソフトの一覧
% port outdated
ソフトウェアの更新
% sudo port upgrade ソフトウェア名
ソフトウェアの一括更新
% sudo port upgrade outdated
ソフトウェアの無効化
% sudo port deactivate
ソフトウェアの有効化
% sudo port activate
そんなもんかなぁ?