いきなりなんですが、Leopardを導入した我が家のMacBookProとMacBookに開発環境を簡単に作れるようMacPortsを導入してみたいと思います。
MacPortsというのは MacOSX 上で利用可能なパッケージシステムの一つで、 主に UNIX 向けに開発されたオープンソース・ソフトウェアを手軽にインストールすることができます。
ubuntuやDebianでいうところのapt、fedoraでいうところのyumのようなものです。
自分が導入したいパッケージに関連する別のパッケージを自動検索して一緒にダウンロード・コンパイル・インストールしてくれる便利なものですね。
MacPortsの導入にはXcodeが事前にインストールされてる必要があります。
自分の場合は以前iPhoneSDKをインストールした時にXcodeもインストールされていました。
The MacPorts Project — Download & InstallationからLeopard (Universal)をクリックしてdmgファイルをダウンロードします。
ダウンロードが終了したら、Finderが開くと思いますのでMacPorts-1.6.0.pkgファイルをダブルクリックします。
MacPortsのインストーラーの「はじめに」が表示されるので、[続ける]ボタンをクリックします。
「大切な情報」が表示されるので、[続ける]ボタンをクリックします。
「使用許諾契約」が表示されるので、[続ける]ボタンをクリックします。
「To continue installing the software you must agree to the terms of the software license agreement.」のダイアログが表示されるので[Agree]ボタンをクリックします。
「インストール先の選択」が表示されるので、インストールしたいデバイスを選択して[続ける]ボタンをクリックします。
インストール先の変更が可能ですが、今回はデフォルトのインストール先にインストールしますので[インストール]ボタンをクリックします。
「インストーラーを操作するには、パスワードを入力してください。」とダイアログが表示されるので、ログインユーザのパスワードを入力して[OK]ボタンをクリックします。
※この画像は名前を空欄にしていますが、実際にはMacOSログインユーザ名が初期表示されています。
これ以降のMacPortsのコマンドの説明はMacPortsでステキなUNIXツールをインストール – はこべにっき#さんのサイトを大いに参考にさせていただきました。
MacPortsは、MacPorts自身を含めたファイルをすべて/opt/local以下にインストールされるので、各種パスを/opt/localに通しておく必要があります。そこで、自分のシェルの環境変数を以下のように設定します。
ターミナルを起動して、以下のように入力します。
※水色が入力する箇所になります。
$ ls -la .bashrc
ls: .bashrc: No such file or directory
.bashrc ファイルがないので新規作成します。
$ vi .bashrc
これでviエディタが開きます。このままだと入力モードになっていないので
[i]ボタンを一度押して入力モードにします。その後に以下を入力します。
export PATH=/opt/local/bin:/opt/local/sbin/:$PATH
export MANPATH=/opt/local/man:$MANPATH
入力が終わったら[esc]キーを押して入力モードを終了し、[:]キー[w]キー[q]キーを
順に押して[enter]キーを押します。
これでホームディレクトリに.bashrcファイルが保存されたはずなので
再度ファイルができているか確認します。
$ ls -la .bashrc
-rw-r–r– 1 ログインユーザ名 staff 90 12 10 21:55 .bashrc
LeopardはこれだけだとPATHが通らないそうなので、.bash_profileファイルに
.bashrcの環境設定を反映するコマンドを記載します。
$ ls -la .bash_profile
ls: .bash_profile: No such file or directory
.bash_profile ファイルがないので新規作成します。
$ vi .bash_profile
これでviエディタが開きます。このままだと入力モードになっていないので
[i]ボタンを一度押して入力モードにします。その後に以下を入力します。
source ~/.bashrc
入力が終わったら[esc]キーを押して入力モードを終了し、[:]キー[w]キー[q]キーを
順に押して[enter]キーを押します。
これでホームディレクトリに.bash_profileファイルが保存されたはずなので
再度ファイルができているか確認します。
$ ls -la .bash_profile
-rw-r–r– 1 ログインユーザ名 staff 17 12 10 23:59 .bash_profile
ターミナルを再起動して、パスが自動反映されたか確認します。
$ env
〜 中略 〜
PATH=/opt/local/bin:/opt/local/sbin/:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local
/bin:/usr/X11/bin
〜 中略 〜
となっていれば終了です。
MacPorts自身のアップグレード
$ sudo port -d sync
ソフトウェア一覧更新
ソフトウェア検索
例えばWebサーバーのApacheを検索すると
apache-ant devel/apache-ant 1.7.1 Java opensource build system
p5-apache-authcookie perl/p5-apache-authcookie 3.10
perl interface to cookies in apache
p5-apache-session perl/p5-apache-session 1.87
A persistence framework for session data
p5-apache-session-wrapper perl/p5-apache-session-wrapper 0.33
A simple wrapper around Apache::Session
p5-apache-test perl/p5-apache-test 1.28
Facilitates testing of Apache::* modules
p5-catalyst-engine-apache perl/p5-catalyst-engine-apache 1.12
Catalyst Apache Engines
p5-masonx-request-withapachesession perl/p5-masonx-request-
withapachesession 0.31 Add a session to the Mason Request object
p5-xml-apachefop perl/p5-xml-apachefop 0.03
Access Apache FOP from Perl to create PDF files using XSL-FO
apachetop sysutils/apachetop 0.12.5
Top-like display of Apache logs
apache www/apache 1.3.41
The extremely popular Apache http server
apache2 www/apache2 2.2.10
The extremely popular second version of the Apache http server
apache20 www/apache20 2.0.63
The extremely popular second version of the Apache http server
midgard-apache2 www/midgard-apache2 8.09.2
A content management system
こんな一覧が表示されます。
ソフトウェアのインストール
実行すると、依存関係の解決、ソースコードのダウンロード、コンパイル、インストールが自動で行われます。
valiantsの表示
ソフトウェアの追加機能を表示します。
例えばWebサーバーのApacheを検索すると
apache2 has the variants:
universal
darwin
darwin_7
darwin_9
openbsd
openldap
preforkmpm
workermpm
eventmpm
no_startupitem
と表示されるので、全ての機能をインストールする場合は以下の通り。
+openbsd +openldap +preforkmpm +workermpm +eventmpm +startupitem
darwin_7とかdarwin_9のようなMacOSX専用オプションは自動で付加されるので明示的に記載する必要がないようなのだが、どれがMacOSX専用オプションかよくわからんので、ここでは全部を指定するとしておく。
varinantsに指定する機能を変えて同じソフトウェアをインストールすると、別物扱いになって、もとからあるやつと衝突するらしい。
先にアンインストールするか、deactivateする。
ソフトウェアのアップグレード
ソフトウェアのアンインストール
ソフトウェアのdeactivate
deactivateといってソフトウェアを完全に削除せずに一時的に無効にする機能がある。異なるvariantsを指定したあるソフトの複数のバイナリを切り替えてためしたいときなどに使う。
ソフトウェアのactivate
deactivateで無効にしていた機能を有効にする
インストール済みソフトウェアの表示
インストール済みソフトウェアをすべてアップグレード
アップグレード可能なソフトウェアの表示
今後、Macに開発環境を構築するときはMacPortsを利用して導入してみたいと思います。








