Article ID: 1746, created on May 8, 2009, last review on May 9, 2014

  • Applies to:
  • Plesk for Linux/Unix

Síntomas

Cuando intento ejecutar algún script de Perl que requiere módulos no encontrados, aparace el siguiente error en error_log de Apache, en el registro de correo o como salida de la consola:

    Can't locate PATH/MODULE_NAME.pm in
    @INC (@INC contains: ../lib
    /usr/lib/perl5/vendor_perl/5.8.3/i386-linux-thread-multi
    /usr/lib/perl5/vendor_perl/5.8.3
    /usr/lib/perl5/5.8.3/i386-linux-thread-multi /usr/lib/perl5/5.8.3
    /usr/lib/perl5/site_perl/5.8.3/i386-linux-thread-multi
    ......

Causa

Este error denota que alguno de los módulos requeridos de script Perl no están instalados en el sistema o bien no están presentes en la lista de rutas de la variable @INC.

Resolución

Si el módulo existe pero no está presente en las rutas listadas en @INC, puede obtenerlo ejecutando:

# perl -e 'print join "\n", @INC, "\n";'

Sitúe el módulo en alguna parte de las rutas obtenidas a través de la ejecución de este comando o use el siguiente argumento en su script Perl:

     use lib "/Path/To/The/Module";

Esto añadirá "/Path/To/The/Module" a la variable @INC donde se ejecuta el script. 

Instale el módulo no encontrado. Si el módulo se incluye en la distribución, puede realizar la instalación a través del administrador de paquetes del SO (yum, apt, yast, ports). También puede instalarlo a través de Perl desde CPAN:

#perl -MCPAN -e shell
cpan> install PATH::MODULE_NAME

29d1e90fd304f01e6420fbe60f66f838 a914db3fdc7a53ddcfd1b2db8f5a1b9c 56797cefb1efc9130f7c48a7d1db0f0c

Email subscription for changes to this article
Save as PDF