CPAN 및 Perl 모듈의 자동 스크립트 설치?


9

Scientific Linux (RHEL) 설치 스크립트에 CPAN 및 일부 Perl 모듈을 자동으로 설치해야합니다. 불행히도 내가 원하는 특정 모듈 (적어도 하나 이상)을 RPM : s로 찾을 수 없습니다.

따라서 CPAN을 설치하고 자동으로 (또는 구성 파일을 사용하여) 구성한 다음 원하는 모듈 (종속성 포함)도 자동으로 설치해야합니다.

이것은 매우 특이한 요구 사항처럼 보이지는 않지만 이것에 대한 훌륭한 문서는 보지 못했습니다. 문제는 CPAN을 처음 시작할 때마다 대화식 구성이 실행된다는 것입니다. 어떻게 든 건너 뛸 수 있습니까? 명령 줄에서 직접 모듈 설치를 시작하려면 어떻게해야합니까?

답변:



23

CPAN을 실행하기 전에이 환경 변수를 설정하십시오.

export PERL_MM_USE_DEFAULT=1

CPAN에서 "최대한 자동으로 구성 하시겠습니까? [yes]"

출처


이 답변은 허용되는 답변보다 훨씬 낫습니다.
kapad

6

"명령 줄에서 직접 모듈 설치를 시작하려면 어떻게해야합니까?"

이것은해야합니다 :

perl -MCPAN -e 'install Your::Package'

5

반복적 인 작업 인 경우 cpan2rpm으로 몇 시간을 소비하여 RPM으로 전환하는 데 비용이들 수 있습니다. 필자의 경험에 따르면 CPAN 실행 (대화식)은 (반자동) 설치에 의존 할 수없는 예기치 않은 이벤트 (버전 결함, 네트워크 문제, 가짜 테스트 실패)로 인해 어려움을 겪고 있습니다.


3

이것은 마술을해야합니다 :

get_cpanm(){
    if [ \! -f /usr/local/bin/cpanm ]; then
            cd $TMP_DIR && curl --insecure -L http://cpanmin.us | perl - App::cpanminus
            if [ \! -f /usr/local/bin/cpanm ]; then
                    echo "Downloading from cpanmin.us failed, downloading from xrl.us"
                    curl -LO http://xrl.us/cpanm &&
            chmod +x cpanm &&
            mv cpanm /usr/local/bin/cpanm
            fi
    fi
    CPANM=$(which cpanm);
    if [ \! -f "$CPANM" ]; then
            echo "ERROR: Unable to find cpanm"
            return 1;
    fi
    return 0
}
cpanm Time::HiRes CGI Moose Config::JSON other::cpanmodules
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.