modules mcpan library perl module install cpan

mcpan - install perl modules ubuntu



¿Cómo puedo instalar un módulo CPAN en un directorio local? (5)

Otras respuestas ya están en Stackoverflow:

Desde perlfaq8:

¿Cómo guardo mi propio directorio de módulo / biblioteca?

Cuando construya módulos, dígale a Perl dónde instalar los módulos.

Para las distribuciones basadas en Makefile.PL, use la opción INSTALL_BASE cuando genere Makefiles:

perl Makefile.PL INSTALL_BASE=/mydir/perl

Puede configurar esto en su configuración de CPAN.pm para que los módulos se instalen automáticamente en su directorio de biblioteca privada cuando use el shell CPAN.pm:

% cpan cpan> o conf makepl_arg INSTALL_BASE=/mydir/perl cpan> o conf commit

Para las distribuciones basadas en Build.PL, use la opción --install_base:

perl Build.PL --install_base /mydir/perl

Puede configurar CPAN.pm para usar automáticamente esta opción también:

% cpan cpan> o conf mbuildpl_arg ''--install_base /mydir/perl'' cpan> o conf commit

Estoy usando una máquina Linux alojada, así que no tengo permisos para escribir en el directorio /usr/lib .

Cuando intento instalar un módulo CPAN, hago lo de siempre:

perl Makefile.PL make test make install

Ese módulo se extrae en una blib/lib/ . He mantenido el use blib/lib/ModuleName pero aún así el compilador dice que no se puede encontrar el módulo. He intentado copiar el archivo .pm en el directorio local y require ModuleName mantenido require ModuleName pero aun así me da un error.

¿Cómo puedo instalar un módulo en otro directorio y usarlo?


Para las distribuciones basadas en Makefile.PL, use la opción INSTALL_BASE cuando genere Makefiles:

perl Makefile.PL INSTALL_BASE=/mydir/perl


Recomiendo Perlbrew . Le permite ejecutar múltiples versiones de Perl, instalar paquetes, piratear Perl internals si lo desea, todos los permisos de usuario normales.


Tuve un problema similar, donde ni siquiera podía instalar local :: lib

Creé un instalador que instaló el módulo en algún lugar en relación con los archivos .pl

La instalación es como:

perl Makefile.PL PREFIX=./modulos make make install

Luego, en el archivo .pl que requiere el módulo, que está en ./

use lib qw(./modulos/share/perl/5.8.8/); # You may need to change this path use module::name;

El resto de los archivos (makefile.pl, module.pm, etc.) no requieren cambios.

Puede llamar al archivo .pl con solo

perl file.pl


local::lib te ayudará. Convencerá a "make install" (y "Build install") para que lo instale en un directorio en el que pueda escribir, y le dirá a perl cómo llegar a esos módulos.

En general, si quiere usar un módulo que está en un directorio blib /, quiere decir perl -Mblib ... donde ... es como usted normalmente invocaría su script.