답변:
데비안과 우분투에서 CPAN ( /usr/bin/cpan
유틸리티) /usr/local/lib/
은 기본적으로 모듈을 설치합니다 . 데비안 패키지는 자신의 파일을 보관 /usr/share/perl5/
하고 /usr/lib/perl5/
. 따라서 설치된 파일 /usr/bin/cpan
은 apt를 통해 설치된 파일을 덮어 쓰지 않습니다.
시스템 perl을 사용하는 데 아무런 문제가 없으며 apt와 cpan 코드를 혼합하면 일반적으로 작동합니다.
apt 리포지토리에서 사용할 수없는 cpan 배포를 수동으로 패키징하도록 선택할 수도 있습니다. dh-make-perl 도구를 사용하면 쉽습니다.
dh-make-perl --cpan Some::Module && cd Some-Module* && sudo debi
/usr/local/share
순수한 펄 모듈과 /usr/local/lib
xs를 위한 것이라고 생각합니다 .
CPAN에서 직접 설치하는 경우 local :: lib를 개인 디렉토리에 사용하는 것이 좋습니다. 부스트 랩핑 기술 참조 https://metacpan.org/module/local::lib
그렇게하면 CPAN 설치 모듈은 사용자 만 사용하게되며 APT를 사용하여 설치된 모듈과는 아주 깨끗하게 분리됩니다.
또한 문제가 발생하거나 Ubuntu를 업그레이드 할 때 CPAN 설치 모듈을 쉽게 제거 할 수 있습니다.
그것이 우분투에서 사용하는 방법입니다.
둘 다 사용할 수 있지만 충돌합니다. 그것들은 같은 장소에 작성되었으므로 apt에서 무언가를 설치하고 cpan에서 최신 버전을 설치하면 일을 피할 수 있습니다.
나는 많은 Perl을하지 않지만 파이썬에서는 분명히 당신이 말하는 딜레마가 있습니다 : apt-vs-PyPI. 나는 가능할 때마다 개인적으로 apt를 선택합니다. 그것은 각각의 개별 파이썬 패키지를 유지 관리 할 필요없이 업데이트를 받아야한다는 것을 의미합니다. 뿐만 아니라 모든 시스템이 동일한 버전의 패키지에서 실행되고 있어야합니다.
항상 운동하는 것은 아닙니다. 때로는 repos에 새로운 것들이 충분하지 않거나 필요한 것이 포장되어 있지 않은 경우가 있습니다. 어느 쪽도 완벽하지는 않지만 더 완벽 하다고 생각 합니다. 하고있는 일을 알고 있으면 괜찮을 것입니다.
편집 -거의 잊어 버렸습니다. 시스템을 자체 환경으로 유지할 수 있도록 개발하는 더 좋은 방법이 있으며 개발중인 모든 것이 자체 환경에서 살 수 있습니다 (CPAN으로 완전히 관리) virtualenv
.
/programming/1423879/how-can-i-install-specialized-environments-for-different-perl-applications
Site
또는 site
디렉토리에 설치되기를 바랍니다. 또는 적어도 강제로 실행할 수 있기를 바랍니다.
cpan
설치된 모듈은 / usr / local / share / perl (또는 PERL이 지정한 위치 Config.pm
)로 끝나는 반면 APT 패키지는 데비안 정책에 따라 / usr / share / perl5로 끝납니다. 따라서 충돌 하지 않으며 CPAN 및 APT 설치를 혼합하여 일치시키는 것이 안전합니다. (Python은 여기서 좋은 비유가 아닙니다 : PERL 패키징과 모듈 처리는 파이썬과는 매우 다르고 -IMHO-가 뛰어납니다.)
cpan
설치된 모듈 이있는 위치 는 PERL에 의해 결정됩니다Config.pm
. 내 우분투 11.04에서는입니다/usr/local/share/perl/5.10.1
.