Cómo instalar un módulo Perl en Linux sin permiso de root

Cómo instalar un módulo Perl en Linux sin permiso de root

La instalación de un módulo de Perl no es un trabajo genial, pero hacerlo sin acceso de root puede ser una tarea desafiante (por supuesto, no imposible). Puede enfrentarse a esta situación cuando no tiene derechos sobre los directorios estándar donde está instalado un módulo Perl. En este tutorial, veremos cómo podemos instalar un módulo de Perl sin permiso de superusuario o raíz, instalándolo en directorios separados no estándar.

Primer paso

Antes de continuar, aclaremos algunas cosas. En primer lugar, asumo que tiene Perl instalado en su sistema. Aparte de eso, usaré los siguientes directorios para instalar el módulo Perl:

/home/perl_modules/bin
/home/perl_modules/man
/home/perl_modules/man/man1
/home/perl_modules/lib

Puede crear estos directorios (bin, man, man/man3 y lib) en cualquier lugar que desee. Usaremos esa ruta en la configuración de Perl. Debe reemplazar la ruta utilizada en el tutorial por su propia ruta de directorio.

Segundo paso

Ahora necesitamos definir algunas variables para configurar Perl localmente. Esta configuración se usará para decirle al módulo Perl dónde debe instalarse. Para hacer eso, sugeriría que escribimos todas esas variables en un archivo y luego lo usamos durante la instalación. Nos ahorrará tiempo y esfuerzo al escribir los comandos largos y será bueno para usar en el futuro.

Digamos que creamos un archivo «perl_local_config» en el directorio /home (el archivo se puede crear donde quieras):

Ahora editemos este archivo para establecer las variables de configuración. Escriba las siguientes variables en él:

PREFIX=/home/perl_modules \
INSTALLSCRIPT=/home/perl_modules/bin \
INSTALLBIN=/home/perl_modules/bin \
INSTALLMAN1DIR=/home/perl_modules/man1 \
INSTALLSITELIB=/home/perl_modules/lib

Tercer paso

Descarga el módulo Perl desde el CPAN (o desde donde quieras). Descomprímelo. Vaya al directorio del módulo. Ahora, los pasos estándar para instalar un módulo Perl son:

perl Makefile.PL
make
make test
make install (if all tests are successful)

Dado que no tiene acceso de root, perl Makefile.PL dará error. Y aquí viene el archivo de configuración local a nuestro rescate. Ejecute estos comandos uno por uno:

perl Makefile.PL `cat /home/perl_local_config`

Si el módulo Perl depende de otro módulo Perl, el comando anterior generará un error. En ese caso, descargue e instale los módulos de los que depende. Se seguiría el mismo procedimiento que estamos discutiendo aquí.

Todas las pruebas deben pasar con éxito.

Más solución de problemas

Al ejecutar el módulo Perl puede generar un error como este:

Can't locate Locale/Recode.pm in @INC (@INC contains: XXXXX......XXXXX) at /home/bin/your_perl_module line XX.

Eso significa que Perl está buscando su módulo en el directorio lib estándar y no en el que lo ha instalado. Para resolver este error, agregue el directorio lib creado localmente (/home/perl_modules/lib en el ejemplo) a la ruta de la biblioteca de esta manera:

export PERL5LIB=/home/perl_modules/lib/perl5/:/home/perl_modules/lib/perl5/site_perl:

Cambie las rutas con su propia ruta de directorio.

Espero que el tutorial haya sido fácil de entender y fácil de seguir. También espero que ahora pueda instalar módulos Perl localmente, sin privilegios de superusuario, como un campeón ahora. Agradecería sus comentarios. Suscríbase al boletín si encontró útil el tutorial y desea mantenerse en contacto para obtener más actualizaciones. Disfrutar 🙂

Experto Geek - Tu Guía en Tendencias Tecnológicas