모든 타사 (읽기 : CPAN) 펄 모듈을 PERFORCE 리포지토리에 설치해야하는 프로젝트에서 작업 중이므로 의존하는 코드가 수동으로 설치해야하는 다른 사람없이 성공적으로 실행됩니다. cpanminus를 사용하여 CPAN 모듈을 설치 했으므로 원하는 디렉토리에 cpanm -L . Moose
을 실행했는데 모든 것이 성공적으로 설치되었습니다. 내가 무스로 만든 모듈을 컴파일 할 때, 나는 가끔이 오류를 얻을 :강제로 로컬에 설치된 종속성을 사용하도록 모듈을 강제 설치
Undefined subroutine &Carp::longmess_heavy called at /usr/lib/perl5/5.8.8/Carp.pm line 235.
그것은 잉어가 무스와 내 로컬 디렉토리에 설치에도 불구하고, 모양을, 그것은 (오래된)를 사용하고 있습니다 버전은 /user/lib/perl5/5.8.8
입니다. 내 컴퓨터에서 Carp를 업그레이드 할 수 있지만 저장소에 코드를 확인하자마자 오래된 Carps를 가진 모든 사람들이 같은 문제를 겪게됩니다. 그렇다면 무스가 /usr/lib/perl5/5.8.8
에있는 잉어 대신 로컬에 설치된 잉어를 사용하도록하려면 어떻게해야합니까?
이것은 맞지만 매우 휴대 할 수는 없습니다. local :: lib를 사용하는 것이 좋습니다. http://search.cpan.org/dist/local-lib/lib/local/lib.pm#The_bootstrapping_technique –
@misplacedme, 1) local :: lib는 단지 휴대하기 힘듭니다. (사실 로그인 스크립트에서 사용하는 것은 매우 복잡합니다.) 2) local :: lib는 INSTALL_BASE를 사용하는데, 이는 설계상의 결함이 있다고 생각합니다. – ikegami
나는 고쳐졌다. 나는 이것을 다음 번에 염두에 두어야 할 것이다. –