Mac OS XのUNIX環境を整備するには、Mac Portsというパッケージマネージャを使用するととても便利です。Mac OS XでのAndroidの開発環境を整備するのにもMac Portsが必要です。
Mac Portsは、Debianでいうところのaptみたいなものです。これがあるかないかで作業効率が大きく変わります。
昔は、configure;makeしまくってインストールしていたのですが、インストール作業が大変で、本来の目的であるインストールしたソフトを使いこなすまでに力尽きてしまうこともしばしばだったり。(遠い目)
ということで、こちらの情報を参考にMac Portsのインストール方法、使い方をまとめておきたいと思います。
http://www.scribd.com/doc/2674173/MacPorts
Mac Ports勉強会資料
〜インストール方法、使い方、Portsの追加方法、プロジェクトへのコミット方法など〜
さて、MacPortを使用するには以下の作業が必要です。
MacPortsの公式ページはこちら。
http://www.macports.org/
1.XCode ToolsというAppleが提供している開発環境をインストールする。
XCode ToolsというMac OS Xのソフト開発に必要なIDE、gccなどのコンパイラなどのツール一式を無料で入手することができます。
Mac OS Xのインストールディスクの2枚目からインストールすることもできますが、最新版をインストールした方が良いので、ネットからダウンロードします。
http://developer.apple.com/jp/
ちなみに、iPhone / iPod touchのアプリ開発環境を入手するためには、ADCのアカウントが必要なので、今後のことを考えるとADCのアカウントを取得しておくと何かと便利だと思います。
2.MacPorts Download Directoryから、各OSのバージョン毎にディスクイメージが用意されているので、自分の環境に合ったものをダウンロードします。
うちはLepardなので、MacPorts-1.7.0-10.5-Leopard.dmg(2009/02/15現在の最新版)をダウンロードしました。
入手先はこちら。
http://www.macports.org/install.php
ダウンロードできたら、.dmgをマウントして、中に含まれる.pkgをダブルクリックしてインストールするだけです。
3. portsツリーを最新にする。
rootユーザになって以下のコマンドを実行します。
# port selfupdate
# port sync
または、-dオプションをつけて実行するとデバッグモードになり、処理中の詳細なメッセージが表示されるようになります。
# port -d selfupdate
# port -d sync
Debianのaptだと、apt-get updateに相当する操作です。
selfupdateとsyncの違いがイマイチよくわかっていませんが、selfupdateは、Mac Portsのシステム(portコマンド関連)も含めた更新情報を同期する、syncは、Mac Portsでインストール可能なport(パッケージ)の更新情報のみ同期する、という意味で良いのでしょうか?
4.よく使うコマンド
port upgrade outdated # インストールされているパッケージをすべてアップデートする。
※port -u upgrade outdated
-u オプションをつけないと、古いバージョンのportはdeactiveになるだけで削除されません。
参考:[MacPorts]古いバージョンを削除する
※port uninstall inactive
deactiveされた古いバージョンのportを削除することができます。(2009/09/12 追記)
※port upgrade パッケージ名 # インストールされている指定したパッケージをアップデートする。
5.使いそうなコマンド一覧
Debianのaptの使い方と大差はなさそうです。
一気にすべてのコマンドの使い方を覚えようとすると大変なので、使いながら慣れていくと良いのかもしれません。
・selfupdate # リポジトリと同期する
・sync # 新しいportだけ取得する
・list # 利用可能なportを一覧表示する
・search # port名から部分一致検索する
・info # port情報を表示する
・deps # 依存しているportを表示する
・variants # インストールするときに利用可能なオプションを表示する
・install # portをインストールする
・clean # 中間ファイルを削除する
・uninstall # portをアンインストールする
port uninstall ポート名@version
・contents # インストールされているportに含まれているファイル一覧を表示する
・installed # インストールされているportを表示する
・outdated # アップデートされているportを表示する
・upgrade # portをアップグレードする
・dependents # インストールされているportの依存関係を表示する
・livecheck # 開発者のサイトでアップデートされているか調べる
・activate # portを使えるように設定する(複数のバージョンをインストールするときに使う)
追記:2009/02/15 17:03
[MacPorts]古いバージョンを削除する
upgrade outdatedでバージョンを最新にできるものの、古いバージョンはdeactiveになるだけで、uninstallされない。で、upgradeする時に -u オプションをつければ古いバージョンを削除してくれる。
ってことをさっき知ったので、今までupgradeしてきたやつは古いバージョンが残ったまま。こいつらを一発でuninstallする方法はなさそうなので、以下のようなshell scriptを書いてみた。
#!/bin/sh
for f in `port installed | grep “@” | grep -v “(active)” | sed -e “s/ //g”`;
do
port uninstall $f;
done
確かに、port installedと実行すると、古いバージョンのportが残ってますね。今後は、port -u upgrade outdated、を実行するようにしたいと思います。
とても有用な情報でしたので、丸々引用させて頂きました。すいません。
最近のコメント