122

すべての依存関係をインストールするように CPAN に指示するにはどうすればよいですか?

これらを次のように設定してみましたcpan

cpan> o conf prerequisites_policy follow
cpan> o conf commit

私はまだ「y」と数回答える必要がありました(しかし、以前よりは少なくなりました)。

常に先に進んでインストールする方法はありますか? 無人にしたい。

CPANが正しいことをすることを常に信頼するフラグが必要なようです.答えが示唆されている場合は、それに従いたいと思います(Enter何かを尋ねると常にヒットします).

4

10 に答える 10

83

PERL_MM_USE_DEFAULT を次のように設定してみてください:

PERL_MM_USE_DEFAULT=1 perl -MCPAN -e 'install My::Module'

CPAN がすべてのプロンプトに対してデフォルトで応答するようにする必要があります。

于 2009-06-10T20:33:51.267 に答える
60

この質問に対する最新かつ最高の答えは、cpanm代わりに使用することです (App::cpanminus ま​​たは cpanminus とも呼ばれます)!

説明

cpanminus は、CPAN からモジュールを取得、アンパック、ビルド、およびインストールするためのスクリプトであり、他には何もしません。

依存関係がなく (それ自体をブートストラップできます)、構成が不要で、スタンドアロンです。実行時には、10MB の RAM しか必要としません。

ブートストラップしてインストールするには:

curl -L http://cpanmin.us | perl - --sudo App::cpanminus

またはperlbrew単に使用している場合

perlbrew install-cpanm

またはcpan自体から:

cpan install App::cpanminus

それ以降は、(必要に応じて root として) を実行してモジュールをインストールします。

cpanm Foo::Bar
于 2011-10-31T02:09:45.117 に答える
34

Here is the one-liner making these changes permanent including automatic first-time CPAN configuration:

perl -MCPAN -e 'my $c = "CPAN::HandleConfig"; $c->load(doit => 1, autoconfig => 1); $c->edit(prerequisites_policy => "follow"); $c->edit(build_requires_install_policy => "yes"); $c->commit'

Or combine it with local::lib module for non-privileged users:

perl -MCPAN -Mlocal::lib=~/perl5 -e 'my $c = "CPAN::HandleConfig"; $c->load(doit => 1, autoconfig => 1); $c->edit(prerequisites_policy => "follow"); $c->edit(build_requires_install_policy => "yes"); $c->commit'

Run it before using the CPAN shell or whatever.

于 2014-02-12T18:18:11.050 に答える
31

続いて、prerequisites_policy の上に次のパラメーターを変更します。

cpan> o conf prerequisites_policy 'follow'
cpan> o conf build_requires_install_policy yes
cpan> o conf commit

これにより、「ask/yes」から「yes」に変更され、尋ねられなくなります。

于 2010-01-14T16:20:14.567 に答える
28

あなたが探しているものは次のとおりです。

cpan> o conf prerequisites_policy follow
cpan> o conf commit
于 2009-12-18T23:24:51.440 に答える
6

セットする

prerequisites_policy

構成で。

構成変数を参照してください。

于 2009-05-22T16:52:02.837 に答える
6

ExtUtils::AutoInstallまたはModule::AutoInstallが使用されていることに関連している可能性があります。PERL_AUTOINSTALL 環境変数を設定してみてください。(これらのモジュールのドキュメントを参照してください。)

于 2009-05-22T18:41:45.843 に答える
3

個人的には、そのように設定を変更しようとしたのは2、3回だけでしたが、実際には、引数を指定せずにインタラクティブプロンプトから構成CPAN.pmすることで、シェルにドロップする方が簡単であることがわかりました。cpanCPAN.pm

$ cpan
cpan> o conf init

CPAN.pmこれにより、インターフェイス構成ユーティリティが開始されます。それを実行し、必要な場所に「フォロー」を指定するだけで(質問をすぐに忘れてしまいます)、うまくいくはずです。

于 2009-05-23T00:41:58.727 に答える