2012-02-23 6 views
8

recibo errores como esteal utilizar CPAN en Ubuntu Linux debo ejecutarlo usando sudo/como root o como mi usuario predeterminado

 
Running make install 
Prepending blib/arch and blib/lib of 17 build dirs to PERL5LIB; for 'install' 
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 
ERROR: Can't create '/usr/local/man/man3' 
Do not have write permissions on '/usr/local/man/man3' 
 
    You may have to su to root to install the package 
    (Or you may want to run something like 
    o conf make_install_make_command 'sudo make' 

Seguiré siendo capaz de ejecutar el software/biblioteca de ese perl/CPAN se instala como mi usuario predeterminado.

¿Cuál es la mejor práctica cuando se trabaja con CPAN/Perl en sistemas similares a Debian?

Respuesta

15

Debe ejecutar el comando cpan como su usuario normal. Tiene dos opciones:

  1. Instale los módulos en un directorio bajo su directorio de inicio. local::lib te ayudará a configurarlo.

  2. Configure cpan para usar sudo durante la fase de instalación. Usted lo hace a partir la cáscara y escribiendo cpan:

    o conf make_install_make_command 'sudo make' 
    o conf mbuild_install_build_command 'sudo ./Build' 
    o conf commit 
    

    La primera línea configura MakeMaker utilizar sudo. La segunda línea hace lo mismo para Module::Build. La tercera línea guarda los cambios.

+0

Creo que agregar sudo al comando make seguirá la regla de los programadores de menor esfuerzo. Entonces CPAN puede construir sin errores de permiso. No tendré que hackear para que las cosas funcionen. – nelaaro

+0

Esas no son las únicas dos opciones. Puede configurar los directorios de destino para que tengan la propiedad, los grupos o los permisos adecuados para que no tenga que sudo. Es por eso que Unix tiene todas esas cosas. :) –

+2

Este artículo fue útil para mí también: http://learnperl.scratchcomputing.com/tutorials/configuration/ – Jake88

3

Si desea instalar módulos como un usuario no root, se puede configurar el CPAN utilizar una base de instalación:

makepl_arg   [INSTALL_BASE=/home/nelaar/perl] 
mbuildpl_arg  [--install_base=/home/nelaar/perl] 

Y establecer PERL5LIB en consecuencia para /home/nelaar/perl/lib/perl5.

7

Si desea instalar sus módulos para su propio uso, entonces debe ejecutarlo como usted mismo. Use local::lib para configurar sus variables de entorno para que esto funcione bien. Es posible que desee mirar cpan minus como una alternativa al instalador de cpan predeterminado.

También puede considerar usar perlbrew para instalar una versión más nueva de perl que sea completamente independiente del perl del sistema.

Si desea instalarlos en todo el sistema, entonces me recomiendan (ya que se ha etiquetado este ubuntu) mirando dh-make-perl para producir archivos .deb que se pueden instalar y desinstalar con dpkg.

Cuestiones relacionadas