Mac OSXでPerlの環境を整える。- CPANモジュールのインストールまで
*2010/08/12追記
まずはMacportsのインストール
PerlのインストールにもMacportsを使うと/opt/local以下にインストールしてくれるのでオススメします。
MacのデフォルトのPerlのインストールディレクトリを汚さないですし、アンインストールやアップグレードなどのバージョン管理もできるパッケージ管理ツールです。
MacPortsとは?
MacPorts(旧名DarwinPorts)というのはパッケージ管理ツールで、UNIX向けのオープンソースソフトウェアをダウンロード、configure、make、インストール、そのパッケージ使用するのに必要な他のパッケージも一緒にインストールなど面倒な作業をすべて代わりにやってくれる便利なソフト。
source: Macports – Macの手書き説明書
事前にXcodeTools、X11をMacに付属しているインストールDiscからインストールが必要です。
MacPortsをインストール
http://distfiles.macports.org/MacPorts/
から最新版のLeopardまたはSnowLeopard版のdmgをダウンロードしインストール。
シェルでmacportsのパスを通す(環境変数を追加)
~/.bashrcもしくは~/.bash_profileにMacPortsのパスを通すための環境変数を追加します。
[sourcecode language=”bash” wraplines=”false” gutter=”false”]
export PATH=/opt/local/bin:/opt/local/sbin/:$PATH
export MANPATH=/opt/local/man:$MANPATH
[/sourcecode]
sourceコマンドで実行します。
[sourcecode language=”bash” wraplines=”false” gutter=”false”]
$ source ~/.bashrc
[/sourcecode]
MacPorts自身のアップデートとportsのデータベース(Portfile/patch)を更新
[sourcecode language=”text” wraplines=”false” gutter=”false”]
$ sudo port -d selfupdate
$ sudo port -d sync
[/sourcecode]
Perlのインストール
macportsでPerlのついでにgitとかsubversionとかvimなど便利なツールもインストールしておくと後々管理しやすくて楽です。
なにをインストールすればいいか悩んだらBeginning OS X 10.6/アプリ導入編 拾遺 – Beginning OS Xを見ればだいたいわかります。
[sourcecode language=”text” wraplines=”false” gutter=”false”]
$ sudo port install wget tree proctools git-core
$ sudo port install subversion
$ sudo port install nkf
$ sudo port install perl5
$ sudo port install vim
$ sudo port install emacs
[/sourcecode]
Perlの実行パスの確認
macports用にパスが通せて(環境変数が設定できる)、macportsでPerlが無事にインストールされたら早速Perlの実行パスを確認します。
whichコマンドを使ってperlの実行パスを確認することができます。
[sourcecode language=”text” wraplines=”false” gutter=”false”]
$ which perl
/opt/local/bin/perl
[/sourcecode]
CPANシェルを呼び出す
cpanシェルを使うと豊富なライブラリ群のCPANモジュールを自由にインストールすることができます。
ダウンロードし、展開し、make installや make testまで自動でしてくれます。
初期設定後は、以下のコマンドのどちらかを打つだけでCPANシェルを呼び出すことができます。
[sourcecode language=”text” wraplines=”false” gutter=”false”]
$ sudo cpan
$ sudo perl -MCPAN -e shell
[/sourcecode]
実行後、cpan>と表示されれば無事にCPANシェルが立ち上がっています。
これでCPANモジュールをインストールすることができます。
[sourcecode language=”text” wraplines=”false” gutter=”false”]
$ sudo cpan
Password:
Terminal does not support AddHistory.
cpan shell — CPAN exploration and modules installation (v1.7602)
ReadLine support available (try ‘install Bundle::CPAN’)
cpan>
[/sourcecode]
インストールディレクトリの確認 (必要であれば)
まずは、以下のシェルでインストールディレクトリを知る必要があります。perl -Vでも環境変数や細かいインストール時の情報が確認できます。
左のパスから優先的にインストールされます。
[sourcecode language=”text” wraplines=”false” gutter=”false”]
$ perl -e ‘print "@INC"’
/opt/local/lib/perl5/5.8.8/darwin-2level /opt/local/lib/perl5/5.8.8 /opt/local/lib/perl5/site_perl/5.8.8/darwin-2level /opt/local/lib/perl5/site_perl/5.8.8 /opt/local/lib/perl5/site_perl /opt/local/lib/perl5/vendor_perl/5.8.8/darwin-2level /opt/local/lib/perl5/vendor_perl/5.8.8 /opt/local/lib/perl5/vendor_perl
[/sourcecode]
もしくはperl -V オプションで詳細がごそっと確認できます。
[sourcecode language=”text” wraplines=”false” gutter=”false”]
$ perl -V
Summary of my perl5 (revision 5 version 8 subversion 9) configuration:
Platform:
osname=darwin, osvers=10.3.2, archname=darwin-2level
(以下省略)
[/sourcecode]
CPANモジュールのインストール
cpanシェルを実行した際に表示されている通り、 cpanシェルでinstall Bundle::CPANとコマンドを打ってみましょう。
早速 Bundle::CPANモジュールがインストールされ、readlineという上カーソルキーを押すとコマンドの履歴が呼び出せるようになります。
[sourcecode language=”text” wraplines=”false” gutter=”false”]
cpan> install モジュール名
[/sourcecode]
ここまででだいたいCPANモジュールのインストールは完了です!
cpan>シェルを終了したい場合
[sourcecode language=”text” wraplines=”false” gutter=”false”]
cpan> quit
cpan> q
[/sourcecode]
のいずれかで終了できます。
よくある質問
CPANモジュールがインストールされたかどうか確認したい
cpanモジュールがインストールされたどうかは、cpanシェル時の “i /モジュールを名/” コマンドか、”perldoc [モジュール名] “のコマンドで調べることが可能です。
[sourcecode language=”text” wraplines=”false” gutter=”false”]
cpan> i /モジュール名/
[/sourcecode]
例:
[sourcecode language=”text” wraplines=”false” gutter=”false”]
cpan> i /Web::Scraper/
Module Web::Scraper (M/MI/MIYAGAWA/Web-Scraper-0.24.tar.gz)
Module Web::Scraper::Config (D/DM/DMAKI/Web-Scraper-Config-0.01.tar.gz)
Module Web::Scraper::Filter (M/MI/MIYAGAWA/Web-Scraper-0.24.tar.gz)
3 items found
[/sourcecode]
cpanモジュールがインストールされたパスを知るには
以下のコマンドでできます。
[sourcecode language=”text” wraplines=”false” gutter=”false”]
$ perldoc -ml モジュール名
[/sourcecode]
手動でインストールを行いたい場合 (CPANシェルをあえて使わない場合)
初期の環境のままではCPANモジュールのmakeができないので、make install時にエラーになります。
Mac OSX Leopard付属のインストールディスクNo.2から XcodeTools > XcodeTools.mpkg をダブルクリックしてインストール。
先ほどの@INCパスにあるディレクトリ内へCPANモジュールをコピーし、makeします。
例:
[sourcecode language=”text” wraplines=”false” gutter=”false”]
$ cp -r /ダウンロードディレクトリ /opt/local/lib/perl5/5.8.8
$ sudo perl Makefile.pm
$ sudo make install
$ sudo make test
[/sourcecode]
モジュールを入手してインストールする方法 – Perlの小技が非常に参考になりました。
※cpanシェルがエラーになって起動できない場合の対処法
CPANシェルのプロセスを立ち上げたまま、別のCPANシェルを立ち上げようとすると下記のようなエラーメッセージがでてきます。
[sourcecode language=”text” wraplines=”false” gutter=”false”]
Terminal does not support AddHistory.
CPAN.pm panic: Lockfile /var/root/.cpan/.lock
reports other host EM60-254-232-36.pool.e-mobile.ne.jp and other process 14521.
Cannot proceed.
[/sourcecode]
これは/var/root/.cpan/.lockにロックファイルが残っている為に起きているエラーです。
そんな時は以下のsudo権限でrmコマンドを使いロックファイルを削除してください。
[sourcecode language=”text” wraplines=”false” gutter=”false”]
$ sudo rm /var/root/.cpan/.lock
[/sourcecode]
FireFoxにCPANモジュール検索バーの追加
CPANを素早く検索できるよう、FireFoxの検索バーにCPANモジュール検索を追加します。
私はCPAN – Modulesだけを登録しています。 以下のリンクからできます。
http://mycroft.mozdev.org/download.html?name=CPAN&sherlock=yes&opensearch=yes&submitform=Search
その他Perl関連で参考になったサイト
- よねだや : Mac OS X Leopardでのターミナル環境設定備忘録 – livedoor Blog(ブログ)
- 妄想癖 MacでPerl (OSX)
- mac perl 5.10 インストール – 教えて!goo
- Peace Pipe: Mac 環境構築 その8 – chalow (というか perl モジュール) のインストール [mac]
- 第2回 なぜMacなのか(後編) ~ApacheでCGIを動かすまで|gihyo.jp
- PCに昨日初めてさわった人でもできるくらい超々簡単vimインストール 続き (Mac OSX Tiger、vim7) ― 名無しのvim使い
その他ご意見や情報が足りない、間違ってる等ツッコミがありましたらacotie.acotie[at]gmail.comまでメールを頂けると嬉しいです。
[…] 今回はこちらのサイトさんを参考にやってみました。 MovableType のデータベースを間違って消してしまったときの対処方法 HTML から weblog を復旧する方法 あとは、perlを使ってコマンドラインを使うので、それなりの準備が。わからない人はこちらを参考にしてセットアップをしてください。 できれば、CPANでアップデートできるとイイです。 windows:Perl for Win32のインストール→コマンドラインでPerlを使うぞ mac:Mac OSXでPerlの環境を整える。- CPANモジュールのインストールまで […]