local::libでCPAN環境を使い分ける

local::libのダウンロード・インストール

ここでは$HOME/tmp/cpanにディレクトリーツリーを作る事にする。

 wget http://search.cpan.org/CPAN/authors/id/A/AP/APEIRON/local-lib-1.008004.tar.gz
 tar zxvf local-lib-1.008004.tar.gz
 cd local-lib-1.008004
 perl Makefile.PL --bootstrap=$HOME/tmp/cpan
 make
 make test
 make install

local::libで指定したCPANディレクトリツリー以下にCPANモジュールをインストールする

cpanmコマンドでモジュールインストールする場合

 cpanm --local-lib=$HOME/tmp/cpan Time::Piece

cpanコマンドでモジュールをインストールする場合

以下のコマンドを実行し、

 perl -I$HOME/tmp/cpan/lib/perl5 -Mlocal::lib=$HOME/tmp/cpan

以下の出力内容を.bashrcに登録する等して環境変数を整備する。

 export PERL_LOCAL_LIB_ROOT="/home/taro/tmp/cpan";
 export PERL_MB_OPT="--install_base /home/taro/tmp/cpan";
 export PERL_MM_OPT="INSTALL_BASE=/home/taro/tmp/cpan";
 export PERL5LIB="/home/taro/tmp/cpan/lib/perl5/darwin-2level:/home/taro/tmp/cpan/lib/perl5";
 export PATH="/home/taro/tmp/cpan/bin:$PATH";

local::libで指定したCPANディレクトリツリー以下にCPANモジュールを使用する

 #!/usr/bin/perl
  
 use strict;
 use warnings;
  
 use lib '/home/taro/tmp/cpan/lib/perl5/'; # (1)
 use local::lib '/home/taro/tmp/cpan';     # (2)
 use Time::Piece;

方法は3つ。

  • (1)のようにlibプラグラマでライブラリサーチパスを直接指定する。
  • local::libを標準CPANディレクトリーツリーにインストールしているのなら、(2)のようにlocal::libプラグマで指定する。
  • Perlの実行ユーザの環境変数PERL5LIBをPERL5LIB="/home/taro/tmp/cpan/lib/perl5/darwin-2level:/home/taro/tmp/cpan/lib/perl5"のように指定する。

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS

Last-modified: 2011-03-06 (日) 19:13:22