Je ne trouve nulle part la réponse à cette question: un module installé via APT est-il en conflit avec un module installé via CPAN?
Parallèlement à cette question, voici: Où vivent les modules CPAN installés? Sont-ils accessibles globalement ou uniquement à l'utilisateur installateur? Comment savez-vous lequel? Comment savez-vous ce qui est installé et ce qui est prioritaire?
Le CPAN doit-il même être utilisé lorsque les modules sont installés via APT?
cpan
modules installés finissent est déterminé par PERLConfig.pm
. Sur mon Ubuntu 11.04, ça l'est/usr/local/share/perl/5.10.1
./usr/local/share
pour les modules pur-perl et/usr/local/lib
pour les trucs xs.J'utilise perlbrew . Il installe une version locale de Perl et cpan. Tout ce qu'il fait est fait dans votre répertoire personnel. Son installation et son utilisation sont simples et vous pouvez installer la dernière version de Perl.
la source
Lors de l'installation à partir de CPAN directement, je recommanderais d'utiliser local :: lib dans un répertoire privé. Voir la technique de boostrapping https://metacpan.org/module/local::lib
De cette façon, le module installé CPAN ne sera utilisé que par votre utilisateur et il aura une séparation très nette des modules installés à l'aide d'APT.
Cela vous permettra également de vous débarrasser facilement des modules installés par CPAN si vous rencontrez un problème ou lorsque vous mettez à niveau Ubuntu.
C'est comme ça que je l'utilise sur Ubuntu.
la source
Vous pouvez utiliser les deux mais ils entreront en conflit. Ils sont écrits au même endroit, donc si vous installez quelque chose à partir d'apt, puis installez une version ultérieure à partir de cpan, vous pouvez créer des problèmes.
Je ne fais pas beaucoup de Perl mais en Python, j'ai certainement le dilemme dont vous parlez: apt-vs-PyPI. J'opte personnellement pour apt dès que je le peux. Cela signifie que je devrais obtenir des mises à jour sans avoir à me rappeler de maintenir chaque package Python individuel. Non seulement cela, mais cela signifie que tous mes systèmes devraient fonctionner sur la même version de ces packages.
Ça ne marche pas toujours. Parfois, vous n'avez pas assez de nouvelles choses dans les dépôts ou quelque chose dont vous avez besoin n'est tout simplement pas emballé. Ni l'une ni l'autre manière n'est parfaite mais je crois susceptible d'être plus parfaite. Soyez juste conscient de ce que vous faites et tout devrait bien se passer.
Edit - Presque oublié, il y a une meilleure façon de séparer les choses afin que le système puisse avoir son propre environnement et tout ce que vous développez peut vivre dans son propre environnement (que vous gérez complètement avec CPAN), comme Python
virtualenv
.../programming/1423879/how-can-i-install-specialized-environments-for-different-perl-applications
la source
Site
ousite
répertoire - ou au moins vous pouvez forcer.cpan
modules installés finissent dans / usr / local / share / perl (ou l'emplacement spécifié par PERLConfig.pm
), tandis que les paquets APT finissent dans / usr / share / perl5 selon la politique Debian. Ils ne sont donc pas en conflit et il est sûr de mélanger et de faire correspondre les installations CPAN et APT, comme le disent les autres réponses. (Python n'est pas une bonne analogie ici: l'emballage PERL et la gestion des modules sont très différents et -IMHO- supérieurs à ceux de Python.)