2008.4.4  

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シェルをあえて使わない場合)

初期の環境のままでは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関連で参考になったサイト

その他ご意見や情報が足りない、間違ってる等ツッコミがありましたらacotie.acotie[at]gmail.comまでメールを頂けると嬉しいです。

1件のコメント »

  1. […] 今回はこちらのサイトさんを参考にやってみました。 MovableType のデータベースを間違って消してしまったときの対処方法 HTML から weblog を復旧する方法 あとは、perlを使ってコマンドラインを使うので、それなりの準備が。わからない人はこちらを参考にしてセットアップをしてください。 できれば、CPANでアップデートできるとイイです。 windows:Perl for Win32のインストール→コマンドラインでPerlを使うぞ mac:Mac OSXでPerlの環境を整える。- CPANモジュールのインストールまで […]

RSS feed for comments on this post. TrackBack URI

Leave a comment

This work is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License.
(c) 2024 Heart Beat | powered by WordPress with Barecity