PerlをMacPortsからインストールする方法をMac OS X Snow Leopard(v10.6)を例に説明します。
MacPortsはMac OS X環境で使えるパッケージ管理システムです。今までMacPortsを使った事が無い方には、以下のサイトの解説が参考になるでしょう。
リンク[MacWiki - MacPorts]
MacPortsを使ったPerlのインストール方法は以下の手順の通りです。
Xcodeのインストール
MacPortsのインストール
MacPortsのアップデート
Perlのインストール
PATHの修正
Perlの実行
同時に複数のPerlをインストールして使う
variantsの検索
PerlのモジュールをMacPortsでインストールする
OSのインストール用DVDからXcodeをインストールします。インストール方法の詳細は下記の記事を参照して下さい。
リンク[Perl To The People - Xcodeのインストール]
PerlのインストールにXcode自身は使用しませんが、Xcodeに併せてインストールされるgccやmakeといったコンパイルに必要なコマンドを使用します。
MacPortsのインストーラは以下のリンクからダウンロードすることができます。
リンク[MacPorts - MacPorts-1.9.1-10.6-SnowLeopard.dmg]
(インストーラはMac OS Xのバージョン毎に分かれていますが、ここではMac OS X Snow Leopard用をダウンロードします)
MacPortsのコマンド類やパッケージリストは随時アップデートされるので、インストール後一度下記のコマンドを実行して下さい。
$ sudo port selfupdate
MacPortsのパッケージでは、3種類のバージョンのPerlを選択できます。Perl5.12系、Perl5.10系、Perl5.8系です。
Perl5.8系をインストールする場合は以下のコマンドを実行します。2010年4月現在ではv5.8.9がインストールされます。
$ sudo port install perl5
Perl5.10系をインストールする場合は以下のコマンドを実行します。2010年4月現在ではv5.10.1がインストールされます。
$ sudo port install perl5 +perl5_10
Perl5.12系をインストールする場合は以下のコマンドを実行します。2010年4月現在ではv5.12.0がインストールされます。
$ sudo port install perl5 +perl5_12
上記手順でインストールした実行バイナリは、/opt/local/bin/配下へインストールされます。そのため、常用するためには環境変数PATHへ追加した方が良いでしょう。.bashrcや、.bash_profileへの設定例は以下の通りとなります。
export PATH=/opt/local/bin:$PATH
export MANPATH=/opt/local/man:$MANPATH
今までPATHを.bash_profileに設定してないのであれば、下記のコマンドで追加する事が出来ます。
$ echo 'export PATH=/opt/local/bin:$PATH' >> $HOME/.bash_profile
$ echo 'export MANPATH=/opt/local/man:$MANPATH' >> $HOME.bash_profile
環境変数PATHが設定されていれば、「perl -v」とタイプして以下の様に表示されるはずです。表示されればインストールとパスの設定は完了している証拠です(バージョンナンバーはインストールしたバージョン条件により変わります)。
$ perl -v
This is perl, v5.10.1 (*) built for darwin-2level
Copyright 1987-2009, Larry Wall
...
実はPerlのportsには「perl5」「perl5.8」「perl5.10」「perl5.12」と4種類が有ります。ただ、ほとんどの他のportsは「perl5」を依存するportsとして指定しているので、「perl5」を使ってインストールするのがお勧めです。
「perl5」以外のportsは同時に複数バージョンのPerlをインストールして使いたい時に便利です。コマンド名の衝突が起きない様に、「perl5」以外のportsをインストールする際に、末尾にバージョン名を付与してインストールします。
$ sudo port install perl5.10 +mangle_names
これでコマンドの後ろに5.10が付与されたバイナリがインストールされます。
先ほど指定した「mangle_names」は、MacPortsのパッケージインストール条件を変える"variants"と呼ばれるものです。どんな"variants"が指定できるかは下記のコマンドで調べる事が出来ます。
$ port variants パッケージ名
$ port variants perl5
perl5 has the variants:
perl5_10: use perl 5.10 instead of perl 5.8
perl5_12: use perl 5.12 instead of perl 5.8 or perl 5.10
$ port variants perl5.8
perl5.8 has the variants:
db: Build with Berkeley Data Base support
gdbm: Build with gdbm support
shared: Build shared perl library
threads: Build with thread support
universal: Build for multiple architectures
$ port variants perl5.10
perl5.10 has the variants:
darwin: Platform variant, selected automatically
dtrace: Build with DTrace probes
mangle_names: mangle the installed names by appending -5.10 to avoid
conflicting with perl5.8
shared: Build shared perl library
threads: Build with thread support
universal: Build for multiple architectures
$ port variants perl5.12
perl5.12 has the variants:
darwin: Platform variant, selected automatically
dtrace: Build with DTrace probes
mangle_names: mangle the installed names by appending -5.12 to avoid
conflicting with perl5.8 and perl5.10
shared: Build shared perl library
threads: Build with thread support
universal: Build for multiple architectures
例えばvariantsに「shared」「threads」を指定してperl5.10をインストールするためには、以下の通りタイプします。
$ sudo port install perl5.10 +shared +threads
PerlのモジュールもMacPortsでインストールする事ができます。Perlのモジュールはp5で始まり、モジュール名をハイフンで結びつけたパッケージ名になっています。
例えばEncodeモジュールは、「p5-encode」というパッケージになります。ただし、あまり多くのモジュールは登録されていないようですし、バージョンもきちんと最新版が追いかけられているパッケージばかりでもないようです。
なお、パッケージの検索には以下のコマンドをタイプします。
$ port search パッケージ名
また、ほとんどのPerlのモジュールは、「perl5」というportsに依存しているので、ports「perl5.10」や「perl5.12」を使ってインストールしていると、別途「perl5」のportsがインストールが始まってしまいます。Perl v5.10.1やv5.12.0を使う場合は、「$ sudo port install perl5 +perl5_10」又は「$ sudo port install perl5 +perl5_12」でperl5のportsをインストールする事をお勧めします。
変更履歴
2010/1/21:MacPortsのPerl関係のportsの内容がアップデートされたので、それに合わせて修正。
2010/4/30:Perl 5.12系のportsが追加されたので修正。

コメントする