Craftworks Tech Blog - Branch このページをアンテナに追加 RSSフィード

2011-11-29

環境に左右されない PERL5LIB を設定する .profile の書き方

| 23:13 | 環境に左右されない PERL5LIB を設定する .profile の書き方 - Craftworks Tech Blog - Branch を含むブックマーク 環境に左右されない PERL5LIB を設定する .profile の書き方 - Craftworks Tech Blog - Branch のブックマークコメント

プロジェクト用のモジュールを extlib とか専用のディレクトリを掘っていると、それを @INC に突っ込まなくてはいけないので、ブートストラップスクリプトで調整したり、開発用に .bashrc や .profile に書くと思いますが、モジュールインストールされるディレクトリ名は、

./extlib/lib/perl5/i486-linux-gnu-thread-multi (32bit Ubuntu)
./extlib/lib/perl5/darwin-thread-multi-2level (OSX)

のように、アーキテクチャ名が入ったりするので、環境によってディレクトリ名がまちまちで書き換えないといけません。

なので、下記のように .profile を書くと環境に左右されないので便利です。

ARCHNAME=$(perl -MConfig -e 'print $Config{archname}')
EXTLIB=./extlib/lib/perl5:./extlib/lib/perl5/$ARCHNAME
PERL5LIB=./lib:$EXTLIB

export PERL5LIB=$PERL5LIB

[追記]

lestrrat 氏がコメントで PERL5OPT を利用する方法を紹介して下さいました。ありがとうございます!

export PERL5OPT=-Mlib=extlib/lib/perl5

lib.pm も Config.pm を使って archname 以外も見て上記の方法よりもよしなにしてくれます。より、.profile がスッキリしますね。

lestrratlestrrat 2011/11/30 01:46 つ PERL5OPT=-Mlib=extlib/lib/perl5