|
Perl 5 モジュールの手動インストール
Perl 5 モジュールを自分で Virtual Server インストールするには、ちょっとした技術が必要です。Perl 5 モジュールをインストールするユーティリティーは、通常、ホストマシーンのファイルシステムの root エリアで使われるものと考えられています。Virtual Server のユーザーには、ホストマシーンの root エリアにアクセスする権限はありません。そのため、Perl 5 モジュールを、あなたのファイルシステムの範囲内にインストールしなければなりません。
●Perl 5 モジュールをローカルにインストールする % perl5 Makefile.PL % make % make test % make install最初のコマンド perl5 Makefile.PL は perl5 にあなたがインストールする新しいモジュールの makefile を行う様に伝えます。perl5 モジュールをローカルにインストールする場合、perl5 インストーラーに、このコマンドラインで、 home directory を知らせてやる必要があります。この情報が perl5 が makefile を行う時に使われます。perl5 Makefile.PL を以下のコマンドラインに置き換えます。 % perl5 Makefile.PL PREFIX=/usr/home/<username>/usr/local上記の <username> は、あなたの Virtual Server の username と置き換えられなければいけません。そして、完璧なインストール過程は以下のようになります。 % perl5 Makefile.PL PREFIX=/usr/home/<username>/usr/local % make % make test % make install初期のモジュールでは、他のいくつかの変数も、インストールにあたって、コマンドラインで指定する必要がある場合もあります。 % perl5 Makefile.PL PREFIX=/usr/home/<username>/usr/local \ INSTALLPRIVLIB=/usr/home/<username>/usr/local/lib/perl5 \ INSTALLSCRIPT=/usr/home/<username>/usr/local/bin \ INSTALLSITELIB=/usr/home/<username>/usr/local/lib/perl5/site_perl \ INSTALLBIN=/usr/home/<username>/usr/local/bin \ INSTALLMAN1DIR=/usr/home/<username>/usr/local/lib/perl5/man \ INSTALLMAN3DIR=/usr/home/<username>/usr/local/lib/perl5/man/man3タイピングを節約するために、ファイルを作成し、上記の変数の役割を(<filename>)ファイルに、以下の様に保存する事もできます。 PREFIX=/usr/home/<username>/usr/local \ INSTALLPRIVLIB=/usr/home/<username>/usr/local/lib/perl5 \ INSTALLSCRIPT=/usr/home/<username>/usr/local/bin \ INSTALLSITELIB=/usr/home/<username>/usr/local/lib/perl5/site_perl \ INSTALLBIN=/usr/home/<username>/usr/local/bin \ INSTALLMAN1DIR=/usr/home/<username>/usr/local/lib/perl5/man \ INSTALLMAN3DIR=/usr/home/<username>/usr/local/lib/perl5/man/man3そうすれば、perl5 モジュールをインストールする時に以下の文法を使う事ができます。 % perl5 Makefile.PL `cat<filename>` % make % make test % make install以下の様に、ちょっと違った、ローカルモジュールのインストール手順ファイルを使う事もできます。一つは production perl 用に、もう一つは development 用に。 % perl5 Makefile.PL `cat<filename>.production` あるいは % perl5 Makefile.PL `cat<filename>.development` ●モジュールのパス Virtual Server に perl5 をインストールした場合、プレインストールモジュールは、以下の四つのディレクトリーのどれかに、全てインストールされます。(どのディレクトリーになるかは、perl5 のバージョンによります) /usr/local/lib/perl5 /usr/local/lib/perl5/i386-bsdos/5.00X /usr/local/lib/perl5/site_perl/i386-bsdos /usr/local/lib/perl5/site_perl /usr/home/<username>/usr/local/lib/perl5/site_perl/5.6.1これら四つのディレクトリーは、perl5 の @INC 配列に登録済みです。この配列は、perl5 がモジュールを見つけるために調べるパスを含んでいます。上に説明した様に、perl5 モジュールをローカリーにインストールした場合は、それら二つのローカルなディレクトリーを @INC 配列に付け加える必要があります。 /usr/home/<username>/usr/local/lib/perl5 /usr/home/<username>/usr/local/lib/perl5/site_perl /usr/home/<username>/usr/local/lib/perl5/site_perl/5.6.1特定されたディレクトリー構造が、perl によって自動的に検索されます。上記のパスのモジュールを使う時には、常に、下記の行をスクリプトに付け加えるべきです。 use lib qw(/usr/home/<username>/usr/local/lib/perl5 /usr/home/<username>/usr/local/lib/perl5/site_perl /usr/home/<username>/usr/local/lib/perl5/site_perl/5.6.1);BEGIN ブロックに入れては行けません。lib.pm module が世話をしてくれます。また、パスは、特定されたディレクトリー構造に加えられます。 あなたがインストールしたモジュールを include するのに、BEGIN ブロックを使う事もできます。 BEGIN { unshift @INC, qw(/usr/home/<username>/usr/local/lib/perl5 /usr/home/<username>/usr/local/lib/perl5/site_perl /usr/home/<username>/usr/local/lib/perl5/site_perl/5.6.1 ); }しかし、use lib コンストラクトは、クリーナーの様で、unshift @INC コンストラクトは、特定されたディレクトリー構造を @INC 配列に自動的に付け加えはしません。
●ローカルにインストールされているモジュールを require する、別のモジュールのインストール 解決は簡単です。PERL5LIB 環境変数が use lib スクリプトとと同じ働きをしてくれます。それなので、もし csh/tcsh を使っている場合であれば、コマンドラインから以下の様に入力します。 % setenv PERL5LIB \ /usr/home/<username>/usr/local/lib/perl5:/usr/home /<username>/usr/local/lib/perl5/site_perl: /usr/home/<username>/usr/local/lib/perl5/site_perl/5.6.1もし、csh/tcsh 以外のシェルを使っている場合は、シェルの man ページで、環境変数をどの様に設定したら良いか調べて下さい。この setenv ステートメントを.login 等の、ログインするたびに読みこまれるファイルに書きこんでおけば、忘れがちなセッティングを、ログインするたびにする必要はなくなります。
●CPAN.pm を使ってインストールする もしインストール済みの perl5 が、perl5.004 かそれ以降であれば、CPAN.pm は含まれています。そうでなければ、CPAN からダウンロードして下さい。 最初に、以下コマンドを実行した場合、 % perl5 -MCPAN -e shellは、いくつかの質問をしてきます。基本的には、デフォルトのままで良いのですが、以下の2つだけは設定する必要があります。 Parameters for the 'perl Makefile.PL' command? [ ] PREFIX=/usr/home/<username>/usr/local Parameters for the 'make install' command? [ ] INSTALLMAN3DIR=/usr/home/<username>/usr/local/lib/perl5/man/man3どこの CPAN サイトを使うか聞かれた場合は、以下を入力してください。 ftp://ftp.cs.colorado.edu/pub/perl/CPAN/CPAN.pm の設定が完全であれば、> プロンプトが表示されるでしょう。この状態になれば、モジュールをインストールできます。CGI モジュールをインストールするには、以下の様にします。 > install CGIそうすると、最新の CGI モジュールがダウンロードされ、解凍、テスト、インストール が、ローカルディレクトリーあるいは PREFIX ディレクトリーとして指定した場所に行われます。 > i /CGI/このコマンドは、パターンにマッチしたモジュールのリストを返します。
CPAN.pm モジュールは、最新のモジュールかどうかをチェックするような、使いやすい機能も持っています。perldoc CPAN を実行して man ページを読んで下さい。
|