7

私は最近新しいシステムをセットアップしたので、それをチェックするために Padre をインストールしたいと思いました。Padre のインストール手順では、local::lib をインストールするように具体的に述べられていたので、そうしました (ただし、これまで必要はありませんでした)。次に、他のいくつかのモジュールをインストールし、通常のユーザー アカウントから CPAN を実行してsudo、インストールの root が必要な部分を処理しました。

その後、これらのモジュールがサポートする必要がある Web アプリケーションの 1 つをテストする時が来ましたが、見よ、apache はそれらを見つけることができませんでした。それらはコマンド ラインから正常にロードさ~/perl5れ、CPAN 構成が含まれているにもかかわらず、local::lib が私の CPAN セッションをハイジャックし、これらのモジュールをサイト全体の場所ではなくそこにインストールしたという疑いが確認されました。

makepl_arg         [INSTALLDIRS=site]
mbuildpl_arg       [--installdirs site]

local::lib がインストールされていてもモジュールがサイト全体にインストールされるようにするには、CPAN 構成に何をする必要がありますか? または、パドレはそれなしで動作し、local::lib を完全に削除できますか?

(パドレがそこにあると主張しない限りモジュールをインストールしたくありません。開発中のコードには、独自のプロジェクト固有のディレクトリの場所があり、それ以外はすべてサイト全体である必要があります。プライベートなキャッチオールの場所は必要ありません。 )~/perl5

4

3 に答える 3

11

とった。local::lib の CPAN ページ の指示に従ってexport PERL_MM_OPT='INSTALL_BASE=~me/perl'、CPAN 構成の設定を上書きする を設定しました。すぐexport PERL_MM_OPT=に適切なインストール場所に戻りました。

一方では、盲目的に指示に従うことで得られるものです。一方、o conf保存された CPAN 構成にあるものではなく、使用されている実際の構成設定を表示することを期待していました (環境変数がそれらをオーバーライドしている場合でも)。

于 2010-10-22T17:14:18.377 に答える
1

このコメントに基づいてlocal::lib、CPAN.pm の独自のバージョンをインストールしているようです。この場合、元の CPAN.pm を見つけて、CPAN シェルを実行するときにそれがロードされていることを確認する必要があります。何かのようなもの:

perl -I /usr/lib/perl5 -MCPAN -e shell

するかもしれません。perl -Vまた、Perl コンパイラがそのモジュールに使用しているインクルード パスを確認することも役立つ場合があります。

于 2010-10-22T15:08:29.383 に答える