Perlのコア、ベンダー、およびサイトの場所の違いは何ですか?最近、いくつかのモジュールのインストールで問題が発生しました。驚いたことに、インストールされていたモジュールの多くが、インストールとバージョンが重複していました。次の結果が非常に紛らわしいことがわかりました。レポートには次の場所が表示されます。言うまでもなく、モジュールはあちこちにインストールされており、デフォルトのインストール場所がどこにあるのか、どこに行くのか、すべき行くのかを理解する方法がわかりません。MakeMakerのドキュメントをインストールする場所です。(privlibとも呼ばれます)-Perlと共にインストールされるコアモジュールの場所です。最初に登場したため、デュアルライフモジュールの更新もサイトまたはベンダーlibの代わりにコアバージョンを介してここにインストールする必要があります。5.12より前これは、privlib内のファイルが通常パッケージマネージャーによって管理されているシステムPerlでは特に危険です。-ディストリビューションベンダーがモジュールをインストールする場所です。これは通常、システムパッケージマネージャーが非コアモジュールをインストールする場所です。-CPANクライアントは、直接呼び出されたときにモジュールをインストールする場所であり、上記のデュアルライフモジュールのような異常な構成はありません。(デュアルライフモジュールはコアモジュールであり、CPANでも個別に利用できます。更新されたバージョンをインストールできます。ビルド固有の出力ファイルを含むディストリビューションのインストール先です。動的構成のない純粋なperlディストリビューションは、標準のアーキテクチャに依存しないディレクトリにインストールされ、要件がまだ満たされている限り、通常は他のPerlおよびアーキテクチャのインストールで変更なしで実行できます(ただし、自分が何であるかを本当に知っている場合を除いて、する)。ディレクトリであり、別のPerlから使用しても安全ではありません。あなたが示したオプション。ディレクトリ(通常は同じ)とマンページのディレクトリ。Installedを使用する多くのツールと同様)は、CPANクライアントを使用してモジュールをインストールするときに含まれるが、コアモジュールではないpacklistsを持つモジュールの検索に制限されます。ベンダーパッケージから削除されます。sitelibのモジュールのみを検出しますが、通常はこれで十分です。cpanコマンドがどのメカニズムを使用しているかわかりません。2UPDATE:ikegamiのSOリンクのおかげで、ソースブラウジングを行ったことがあります。ここで多くの情報を見つけることができます。(installstyle.U):この変数は、perlインストールのスタイルを示します。ライブラリディレクトリはConfig.pmに直接保存されます。$prefix/lib/perl5。$prefixが多くのパッケージで共有されている場合に便利です。$prefix=/usr/local。usr/localの場合があります。)MakeMakerなどのツールでは、状況はさらに明確ではありません。追加のモジュールを非標準の場所にインストールするために使用されます。$installstyle設定は、そのPREFIXに関連します。結果にパターンマッチングを適用します。$prefixに文字列「perl」が含まれているかどうかに基づいています。アドオンモジュールを配布します。@INCに追加します。デフォルトでは空です。@INCfirst、他のどの先よりも先。