Sunday, April 18, 2010

把 Perl 模組裝在系統目錄以外的地方

流程其實蠻簡單的,在編譯模組第一步的 perl Makefile.PL 用 PREFIX=%TARGET_DIRECTORY% 作為參數即可。

perl Makefile.PL PREFIX=%TARGET_DIRECTORY%
make
make test
make install

然後設定環境變數 PERL5LIB 到所給定的 %TARGET_DIRECTORY% 下面的 share/perl 以及 lib/perl 之中,注意中間要使用冒號分隔。

export PERL5LIB=%TARGET_DIRECTORY%/share/perl:%TARGET_DIRECTORY%/lib/perl

除了 PERL5LIB 之外,也可以設定 PERLLIB 這個環境變數,不過 PERL5LIB 優先權比較高,而且這兩個變數是互斥的,換言之 Perl 會先找 PERL5LIB 這個環境變數是不是存在,如果沒有才去找 PERLLIB 環境變數。