PerlをMacPortsからインストールする

PerlをMacPortsからインストールする方法をMac OS X Snow Leopard(v10.6)を例に説明します。

MacPortsはMac OS X環境で使えるパッケージ管理システムです。今までMacPortsを使った事が無い方には、以下のサイトの解説が参考になるでしょう。

リンク[MacWiki - MacPorts]

MacPortsを使ったPerlのインストール方法は以下の手順の通りです。

  1. Xcodeのインストール

  2. OSのインストール用DVDからXcodeをインストールします。インストール方法の詳細は下記の記事を参照して下さい。

    リンク[Perl To The People - Xcodeのインストール]

    PerlのインストールにXcode自身は使用しませんが、Xcodeに併せてインストールされるgccやmakeといったコンパイルに必要なコマンドを使用します。

  3. MacPortsのインストール

  4. MacPortsのインストーラは以下のリンクからダウンロードすることができます。

    リンク[MacPorts - MacPorts-1.9.1-10.6-SnowLeopard.dmg]
    (インストーラはMac OS Xのバージョン毎に分かれていますが、ここではMac OS X Snow Leopard用をダウンロードします)

  5. MacPortsのアップデート

  6. MacPortsのコマンド類やパッケージリストは随時アップデートされるので、インストール後一度下記のコマンドを実行して下さい。

    $ sudo port selfupdate

  7. Perlのインストール

  8. 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

  9. PATHの修正

  10. 上記手順でインストールした実行バイナリは、/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

  11. Perlの実行

  12. 環境変数PATHが設定されていれば、「perl -v」とタイプして以下の様に表示されるはずです。表示されればインストールとパスの設定は完了している証拠です(バージョンナンバーはインストールしたバージョン条件により変わります)。

    $ perl -v
    This is perl, v5.10.1 (*) built for darwin-2level
    
    Copyright 1987-2009, Larry Wall
    ...
    

  13. 同時に複数のPerlをインストールして使う

  14. 実は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が付与されたバイナリがインストールされます。

  15. variantsの検索

  16. 先ほど指定した「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

  17. PerlのモジュールをMacPortsでインストールする

  18. 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が追加されたので修正。


    →Perl To The Peopleのインデックスページへ戻る

トラックバックURL

このエントリーのトラックバックURL:
http://ash.roova.jp/mt/mt-tb.cgi/42

コメントする