perl - privilegios - linux permisos root
¿Cómo puedo instalar módulos Perl sin privilegios de root? (2)
Ver local::lib .
Una vez que lo tenga instalado, puede hacer:
perl -MCPAN -Mlocal::lib -e ''CPAN::install(LWP)''
Estoy en una máquina Linux donde no tengo privilegios de root. Quiero instalar algunos paquetes a través de CPAN en mi directorio de inicio para que cuando ejecute Perl, pueda verlo.
cpan
, que me pidió algunas opciones de configuración. Pidió un directorio, que sugirió ~/perl
"para usuarios no root". Aún así, cuando intento instalar un paquete, falla en el paso de make install
, porque no tengo acceso de escritura a /usr/lib/perl5/whatever
.
¿Cómo puedo configurar CPAN para que pueda instalar paquetes en mi directorio personal?
perlfaq8 el camino documentado en perlfaq8 , que es lo que local :: lib está haciendo por ti.
También es una pregunta frecuente de :
- ¿Por qué la instalación de ciertos módulos de CPAN requiere privilegio de root?
- ¿Cómo puedo instalar módulos de CPAN localmente sin acceso de root (DynaLoader.pm línea 229 error)?
- ¿Cómo le digo a CPAN.pm que instale todos los módulos en un directorio específico?
- ¿Cómo puedo instalar un módulo CPAN en un directorio local?
- ¿Cómo puedo usar un nuevo módulo Perl sin permisos de instalación?
- ¿Cómo puedo usar CPAN como usuario no root?
- ¿Cómo puedo instalar módulos locales con la herramienta cpan?
Curiosamente, ninguno de estos se sugiere cuando uso el título original de la pregunta (que es una de las razones por las cuales un buen título es muy importante para encontrar su respuesta).
¿Cómo guardo mi propio directorio de módulo / biblioteca?
Cuando construya módulos, dígale a Perl dónde instalar los módulos.
Si desea instalar módulos para su propio uso, la forma más fácil podría ser local :: lib, que puede descargar desde CPAN. Establece varias configuraciones de instalación para usted, y usa esas mismas configuraciones dentro de sus programas.
Si desea más flexibilidad, debe configurar su cliente CPAN para su situación particular.
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 mbuild_arg "--install_base /mydir/perl"
cpan> o conf commit
INSTALL_BASE le dice a estas herramientas que coloquen sus módulos en / mydir / perl / lib / perl5. Consulte ¿Cómo agrego un directorio a mi ruta de inclusión (@INC) en tiempo de ejecución? para detalles sobre cómo ejecutar sus módulos recién instalados.
Sin embargo, hay una advertencia con INSTALL_BASE, ya que actúa de forma diferente a las configuraciones PREFIX y LIB que defendían las versiones anteriores de ExtUtils :: MakeMaker. INSTALL_BASE no admite la instalación de módulos para múltiples versiones de Perl o arquitecturas diferentes bajo el mismo directorio. Debería considerar si realmente quiere eso, y si lo hace, use las configuraciones anteriores de PREFIX y LIB. Consulte la documentación de ExtUtils :: Makemaker para obtener más detalles.