por explorer » 2013-10-17 14:26 @643
En el foro Formación hay un tutorial de cómo instalar módulos.
Si estás en CentOS, SIEMPRE hay que intentar instalar los módulos usando el yum o con el gestor gráfico de paquetes que tenga.
Solo hay que usar el comando cpan como ÚLTIMO recurso.
Ejemplo:
¿Cómo sabemos qué paquete nos instala Test::More?
yum whatprovides 'perl(Test::More)'
o
repoquery --whatprovides 'perl(Test::More)'
Una vez que sabemos cómo se llama el paquete (perl-Test-Simple), pues ya lo instalamos con yum. O más sencillo:
yum install 'perl(Test::Simple)'
Hay que prestar atención a que a veces los módulos no están solos en un solo paquete, sino que están incluidos en una distribución mayor. Si entramos en CPAN y buscamos por Test::More, vemos que está dentro de la distribución Test-Simple, así que, es cuestión de buscar o probar directamente por ese nombre:
yum install perl-Test-Simple
Yo, en OpenSuSE, hago lo mismo: zypper install 'perl(Date::Calc)'
El caso que comentas, de referencias circulares, hace años que lo sufrí con el comando cpan. Primero, un comentario: se puede configurar cpan para que el baje de forma automática las dependencias, y así no tenemos que andar diciendo que yes todo el rato.
Luego, en el caso que se daba de referencias circulares o, mejor dicho, que un módulo no terminaba de instalarse. En algunos casos era porque perl daba por supuesto que las dependencias de ese módulo estaban ya instaladas (módulos CORE). Por ejemplo, Test::More y Test::Harness ya vienen instalados de base en los Perl modernos (puedes verlos listados con perldoc perlmodlib).
En otros casos... pues había que instalarlos a la fuerza. Lo normal es empezar por los módulos menos dependientes (es decir: los demás dependen de ellos). Con un comando como
cpan -f -i Module::Foo
forzamos la instalación del módulo (sacado de la página de manual de cpan).
Una vez conseguido, pues probamos a instalar el módulo principal. Si sigue fallando alguna dependencia, pues forzamos la instalación de ese solo.
Hay otros casos más sangrantes... en ciertas distribuciones Linux... no instalan toda la distribución completa de Perl. Por ejemplo, en Debian, la documentación está en el paquete perl-docs, y en Ubuntu, a veces, no la instalan de base. Pero bueno, con un apt-get install perl-docs se instala en unos segundos.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES