모든 종속성을 설치하도록 CPAN에 어떻게 지시합니까?
나는 이것을 설정하려고 시도했다 cpan
.
cpan> o conf prerequisites_policy follow
cpan> o conf commit
나는 여전히 “y”에 몇 번 대답해야했다 (그러나 이전보다 더 적었다).
항상 계속해서 설치하는 방법이 있습니까? 무인화하고 싶다.
나는 플래그가 항상 CPAN이 옳은 일을하도록 신뢰하기를 바라는 것 같고, 그것이 대답을 제안한다면 나는 그것을 따르고 싶다 (항상 Enter무언가를 요청할 때 히트 ).
답변
다음은 자동 최초 CPAN 구성을 포함하여 이러한 변경 사항을 영구적으로 만드는 한 줄입니다.
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'
또는 local::lib
권한이없는 사용자를위한 모듈 과 결합하십시오 .
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'
CPAN 쉘 등을 사용하기 전에 실행하십시오.
답변
PERL_MM_USE_DEFAULT를 다음과 같이 설정하십시오.
PERL_MM_USE_DEFAULT=1 perl -MCPAN -e 'install My::Module'
CPAN 응답을 모든 프롬프트에 대한 기본값으로 만들어야합니다.
답변
이 질문에 대한 가장 최근의 가장 큰 대답은 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
그때부터 실행하여 모듈을 설치합니다 (필요한 경우 루트로).
cpanm Foo::Bar
답변
당신이 찾고있는 것은 다음과 같습니다.
cpan> o conf prerequisites_policy follow
cpan> o conf commit
답변
prerequisites_policy 위에 다음 매개 변수를 변경하면 다음과 같습니다.
cpan> o conf prerequisites_policy 'follow'
cpan> o conf build_requires_install_policy yes
cpan> o conf commit
그러면 “ask / yes”에서 “yes”로 변경되고 요청이 중지됩니다.
답변
어쩌면에 관련이 위한 ExtUtils :: AutoInstall을 또는 모듈 :: AutoInstall을가 사용된다. PERL_AUTOINSTALL 환경 변수를 설정해보십시오. (해당 모듈의 문서 참조)