5

$ workでは、PERL5LIBを介して簡単に含めることができるように、一連のPerlモジュールを中央の場所に保持しています。事前に再インストールがあり、32ビットアーキテクチャと64ビットアーキテクチャの両方のモジュールを提供する必要があるため、$ archnameサブディレクトリに依存して、同じディレクトリツリーにモジュールをインストールするか、2つのアーキテクチャを維持する方がよいかどうか疑問に思っています。各モジュールを完全に分離して複製します。

私は$archnameを含むPerlモジュールルックアッププロセスの内部動作を調査することにあまり成功していませんでした。誰かが私を正しい方向に向けることができるかもしれません。

あなたの経験では、2つのアプローチの長所と短所は何ですか?

4

2 に答える 2

3

perldoc libから:

使用時use lib LIST;

LIST 内の各ディレクトリ ( $dirここで呼び出されます) に対して、lib モジュールは、呼び出されたディレクトリが存在するかどうかも確認します $dir/$archname/auto。その場合、$dir/$archnameディレクトリは対応するアーキテクチャ固有のディレクトリであると見なされ、 @INC の前に追加され$dirます。

lib.pm$dir/$versionまた、呼び出され たディレクトリが存在するかどうかを確認$dir/$version/$archnameし、これらのディレクトリを @INC に追加します。

私見ですが、Perl の標準ライブラリのように、アーキテクチャごとのサブディレクトリを使用する方が、より慣用的です。

ただし、独自のライブラリのアーキテクチャごとのツリー全体を管理する方が簡単ですが、そのための基本的なツール/スクリプトをいくつか作成すると、大きな差はありません。

于 2010-07-22T22:26:25.347 に答える
1

各システムでモジュールを個別にビルドして、必要なファイルのみを取得できるようにします。または、アーキテクチャを区別するパッケージング システムを使用します。すべてのアーキテクチャのファイルをすべてのシステムに提供しようとしないでください。

于 2010-07-23T01:54:09.227 に答える