9

use local::libそのレギュラーが何をしないのか理解できuse libません。誰かがそれを説明できますか?

4

3 に答える 3

20

local::lib

  1. ~/perl5ディレクトリを指定しない場合のデフォルト(whileuse lib;はノーオペレーション)。

  2. に追加する前に、相対パスを絶対パスに解決します@INC。(lib相対パスをそのまま追加するだけです。)

  3. ディレクトリ名の~とを展開します。~user

  4. 指定/lib/perl5したディレクトリに追加します。( Souse local::lib '/foo';は と多少同等use lib '/foo/lib/perl5';です。)

  5. DIR/binローカル モジュールによってインストールされたスクリプトを使用できるように、PATH の先頭に追加します。

于 2011-01-26T09:12:39.810 に答える
6

use libモジュール検索パスにディレクトリを追加します ( @INC)。use libディレクティブを含むプログラムまたはモジュールの外部には何の影響もありません。

local::libプライベート モジュールのインストール ディレクトリを有効にするために使用することを意図しており、推奨される方法でシェル環境を構成すると、このプライベート ディレクトリはすべての Perl モジュールのインストール (CPAN または手動によるものmake install) とそこにインストールされたモジュールに使用されます。local::lib対応シェル環境内から実行されるすべての Perl プログラム/モジュールで利用できるようになります。

于 2011-01-26T09:15:14.490 に答える
5

通常use lib fooは次のように簡単です。

BEGIN { unshift(@INC, foo) }

他の多くのPerluse local::lib環境変数を設定して、モジュールをローカルにインストールできるようにします。ソースを参照してください。

于 2011-01-26T09:04:31.410 に答える