![CPAN vs APT: ¿Conflictos en las versiones?](https://rvso.com/image/1035891/CPAN%20vs%20APT%3A%20%C2%BFConflictos%20en%20las%20versiones%3F.png)
No puedo encontrar la respuesta a esto en ninguna parte: ¿Un módulo instalado a través de APT entra en conflicto con uno instalado a través de CPAN?
Junto con esa pregunta están estas: ¿Dónde viven los módulos CPAN instalados? ¿Son accesibles globalmente o sólo para el usuario que realiza la instalación? ¿Cómo sabes cuál? ¿Cómo sabes qué está instalado y cuál tiene prioridad?
¿Debería utilizarse CPAN incluso cuando los módulos se instalan a través de APT?
Respuesta1
En Debian y Ubuntu, CPAN ( /usr/bin/cpan
utilidad) instala módulos /usr/local/lib/
de forma predeterminada. Y los paquetes de Debian mantienen sus archivos en formato /usr/share/perl5/
y /usr/lib/perl5/
. Por lo tanto, los archivos instalados mediante /usr/bin/cpan
no sobrescribirán los archivos instalados mediante apt.
No hay nada de malo en usar System Perl, y mezclar código apt y cpan generalmente funcionará.
También puede optar por empaquetar manualmente cualquier distribución de cpan que no esté disponible en sus repositorios aptos. Es fácil con la ayuda de la herramienta dh-make-perl:
dh-make-perl --cpan Some::Module && cd Some-Module* && sudo debi
Respuesta2
yo suelocerveza perl. Instala una versión local de Perl y cpan. Todo lo que hace se realiza en su directorio de inicio. Es sencillo de instalar y usar y puede instalar la última versión de Perl.
Respuesta3
Al instalar directamente desde CPAN, recomendaría usar local::lib en un directorio privado para usted. Ver la técnica del boostrappinghttps://metacpan.org/module/local::lib
De esa manera, el módulo CPAN instalado solo será utilizado por su usuario y tendrá una separación muy clara de los módulos instalados mediante APT.
También facilitará la eliminación de los módulos instalados en CPAN si encuentra algún problema o cuando actualiza Ubuntu.
Así es como lo uso en Ubuntu.
Respuesta4
Puedes usar ambos pero entrarán en conflicto. Están escritos en el mismo lugar, por lo que si instala algo desde apt y luego instala una versión posterior desde cpan, podría complicar las cosas.
No uso mucho Perl, pero en Python ciertamente tengo el dilema del que estás hablando: apt-vs-PyPI. Personalmente opto por apt siempre que puedo. Significa que debería recibir actualizaciones sin tener que acordarme de mantener cada paquete de Python individual. No solo eso, sino que significa que todos mis sistemas deberían ejecutarse en la misma versión de esos paquetes.
No siempre funciona. A veces no tienes suficientes cosas nuevas en los repositorios o algo que necesitas simplemente no está empaquetado. Ninguna forma es perfecta pero creo que puede serlo.másperfecto. Solo sé consciente de lo que estás haciendo y deberías estar bien.
Editar- Casi lo olvido, hay una mejor manera de dividir las cosas en secciones para que el sistema pueda tener su propio entorno y todo lo que estés desarrollando pueda vivir en su propio entorno (que administras completamente con CPAN), como el de Python virtualenv
...