&tag(Mac, MacPorts); *目次 [#y271b7ce] #contents *参考情報 [#s1144ec4] -[[MacPortsの使い方まとめ | karakaram-blog:http://www.karakaram.com/mac/macports-howto/?utm_source=rss&utm_medium=rss&utm_campaign=macports-howto]] -[[Mac OS 10.6 でMacportsを使って環境構築( Apache + MySQL + PHP +phpMyadmin) - c_mutoh’s Diary:http://d.hatena.ne.jp/c_mutoh/20110110/1294678976]] *関連ページ [#f36e138b] -[[./セットアップ_2011-11-05]] -[[launchctl]] -[[./mysql5]] -[[./apache2]] -[[./php5]] -[[./python26]] -[[./ruby19]] -[[./rails3]] -[[./git-core]] -[[./zsh]] -[[./emacs]] *インストール [#m6792b16] -[[The MacPorts Project -- Download & Installation:http://www.macports.org/install.php]]からSnowLeopard用のdmgファイルをダウンロード。)。 -MacPorts-1.9.2-10.6-SnowLeopard.dmgをダブルクリックしてインストール。 -selfupdate実行 sudo port selfupdate *再インストール [#p4737967] -削除する前にインストールされているパッケージ一覧をlist.txtに保存しておく。 -/opt/localにはカスタマイズした設定ファイルが残っている可能性があるのでリネームしたほうが安全。 #pre{{ $ port installed > list.xt $ sudo port deactivate active $ sudo port -f uninstall installed $ sudo port clean all $ sudo rm -rf /Library/Tcl/macports1.0 $ sudo mv /opt/local /opt/local.old }} *操作 [#da576c82] **MacPortsを最新の状態に保つ [#k50b08e0] ***portとパッケージの更新情報を最新にする [#yd9df47a] sudo port selfupdate portコマンド自体の更新とローカルにキャッシュしていあるパッケージ情報が更新される。定期的に実行しないと古いパッケージがインストールされるかもしれないという問題がある?([[Mint's log: MacPortsのselfupdateを忘れた→はまる:http://googlewhacks.blogspot.com/2009/03/macportsselfupdate.html]])。 ***更新されたパッケージを表示する [#v7226e1a] sudo port outdated ***インストール済みソフトを全てアップデート [#jeb14667] sudo port upgrade installed 古いバージョンを削除したい場合 "-u" をつける。 sudo port upgrade -u installed **検索する [#p1e23c05] sudo port search <パッケージ名> **インストールする [#m5e43cb2] sudo port install <パッケージ名> **アンインストールする [#m89ab78e] ***パッケージを指定してアンインストール [#j3125007] sudo port uninstall <パッケージ名> ***inactiveなパッケージを削除 [#b15a7510] sudo port uninstall inactive ***依存関係ごと削除 [#ic96c588] sudo port unintall --follow-dependents <パッケージ名> *その他 [#gf5439eb] **Homebrewとどっちがよいか [#x242da66] MacPortsの良い点 -オールインワン。システムのライブラリなどに極力依存しないよう作られているのでOSがバージョンアップしてもMacPortsは壊れないことも(絶対ではない)。 -/opt/localにまとめられている。/usr/localがフリーなので/usr/localに自分でコンパイルしたソフトを入れることができる。 -apache2やphpなどもパッケージがある。 -パッケージの数が多い。 MacPortsの悪い点 -依存関係が芋づる式でコンパイルに時間がかかるしHDDもくう(オールインワンであることの裏返し)。 -パッケージに手をいれるとかめんどくさすぎる。 -パスが特殊。 Homebrewの良い点 -最小限しかいれないのでコンパイルが早い。 -パッケージが新しめ(?) -パッケージに手を入れるのが楽。Rubyだし。 Homebrewの悪い点 -/usr/localを使っちゃうので自分でコンパイルしたソフトを入れるときに困りそう。 結論。完全性を求める向きはMacPortsでいいのではないか。コンパイルに時間かかるけどHomebrewだってそれなりに時間かかる(Linuxのようにバイナリを入れるわけではないので)。 逆にもっとラフな感じで使いたい場合はHomebrewか。Rubyでいじれるのは魅力的。 *トラブルシューティング [#pfdae4d7] **Xcode4.3でいろいろダメ(2012/02/21(火)) [#qbac1c01] -[[Beginning OS X Lion/インフラ整備編 - Beginning OS X:http://osx.miko.org/index.php/Beginning_OS_X_Lion/%E3%82%A4%E3%83%B3%E3%83%95%E3%83%A9%E6%95%B4%E5%82%99%E7%B7%A8]]…Xcode4.3でいろいろかわったためMacPortsが完全対応するまでは手作業でいろいろやらないといけない。 -portconfigure.tclへパッチを当てる方法は、該当部分をport.patchなどと保存し、patchコマンドに-p0オプション(ディレクトリ部分を無視しない)であてるとよい。 sudo patch -p0 < port.patch