use local::lib
そのレギュラーが何をしないのか理解できuse lib
ません。誰かがそれを説明できますか?
3 に答える
local::lib
~/perl5
ディレクトリを指定しない場合のデフォルト(whileuse lib;
はノーオペレーション)。に追加する前に、相対パスを絶対パスに解決します
@INC
。(lib
相対パスをそのまま追加するだけです。)ディレクトリ名の
~
とを展開します。~user
指定
/lib/perl5
したディレクトリに追加します。( Souse local::lib '/foo';
は と多少同等use lib '/foo/lib/perl5';
です。)DIR/bin
ローカル モジュールによってインストールされたスクリプトを使用できるように、PATH の先頭に追加します。
use lib
モジュール検索パスにディレクトリを追加します ( @INC
)。use lib
ディレクティブを含むプログラムまたはモジュールの外部には何の影響もありません。
local::lib
プライベート モジュールのインストール ディレクトリを有効にするために使用することを意図しており、推奨される方法でシェル環境を構成すると、このプライベート ディレクトリはすべての Perl モジュールのインストール (CPAN または手動によるものmake install
) とそこにインストールされたモジュールに使用されます。local::lib
対応シェル環境内から実行されるすべての Perl プログラム/モジュールで利用できるようになります。
通常use lib foo
は次のように簡単です。
BEGIN { unshift(@INC, foo) }
他の多くのPerluse local::lib
環境変数を設定して、モジュールをローカルにインストールできるようにします。ソースを参照してください。