modules manager library installing cpanminus perl ubuntu module

manager - ¿Por qué no puedo encontrar módulos Perl después de actualizar a Intrepid Ibex Ubuntu?



linux install cpan module (4)

Perl cambió en Intrepid.

Antes de actualizar, tenía Perl 5.8, ahora tiene 5.10.

Actualicé a Ubuntu Intrepid Ibex ayer y de repente algunos de los módulos de Perl que instalé (en el Hardy Heron) se han perdido.

Aparece el error habitual "No se puede localizar el módulo en @INC". ¿Alguno de los repositorios de CPAN ha cambiado o algo por Intrepid? Google no ayuda en absoluto.

Gracias por adelantado.


Probablemente /usr/lib/perl5/5.10.* se usa en lugar de /usr/lib/perl5/5.8.8 ya que la versión de Perl ha cambiado


Su instalación de Perl ha cambiado de la versión 5.8 a la 5.10. Dado que muchos de los módulos que desea están en directorios específicos de la versión perl, es posible que desee volver a instalar utilizando las herramientas de CPAN (por ejemplo, el comando cpan ).

Pero como está utilizando Ubuntu, tenga en cuenta que muchas bibliotecas de CPAN también se distribuyen a través del administrador de paquetes de Ubuntu, y los paquetes de CPAN se instalan en un lugar diferente al que Ubuntu instala (esto es transparente para el usuario, ya que ambos son en las rutas @INC ).

Recomiendo usar los paquetes de Ubuntu cuando estén disponibles, ya que serán actualizados por el administrador de paquetes (APT) cuando se publiquen nuevos en los servidores de paquetes centrales. El formato del nombre es ligeramente diferente. Aquí hay dos maneras de instalar el mismo paquete, de diferentes fuentes:

$ cpan List::MoreUtils # installs latest from CPAN

$ sudo apt-get install liblist-moreutils-perl # installs latest from Ubuntu universe

la ventaja de este último es que será actualizado por sudo apt-get update .


La solución estándar es generar un "autobundle" con CPAN.pm antes de actualizar Perl. Una búsqueda de autobundle produce enlaces a un puñado de preguntas SO existentes sobre la gestión de módulos de Perl y varias que parecen que deberían proporcionar más información. El manual de CPAN.pm toca la autobusle, pero no incluye muchos detalles.

Dado que ya ha actualizado Perl, una solución para instalar sus módulos sería generar un archivo de autobundle y usar las entradas en el archivo generado como una guía para escribir un archivo de libro personalizado con entradas para sus módulos (solo). El formato de archivo de búster es solo POD , por lo que esto debería ser fácil de hacer.

En el futuro, probablemente debas convertir en hábito generar un libro de viaje antes de actualizar Perl. Esta no es una solución perfecta, la autobusle incluirá entradas para los módulos centrales que deberán eliminarse antes de crearla, pero al menos tendrás una instantánea de los módulos Perl instalados para que puedas arreglar tu instalación Perl después de una actualización.