Instalación de módulos de CPAN a través de local:: lib

30 de agosto 2009 · Escrito en Perl

OBSOLETO: Este texto está obsoleto en el texto Perl más fácil que nunca .

Instalación de módulos de CPAN en máquinas en las que no tiene privilegios de root es muy simple. Con el módulo de local:: lib CPAN en sí, puede crear una instalación local en el que los módulos están instalados en su propia casa.

La creación de cpan

Basta con llamar a un terminal y escriba el comando cpan. Se mostrará un pequeño mensaje de la presentación y le preguntará si desea que le permite configurar todo de forma automática. Para la mayoría de los casos la configuración automática es suficiente, pero voy a establecer algunas opciones para mí, así que voy a responder "no".

  ¿Le gustaría que para configurar automáticamente tanto como sea posible?  [Sí] en 

La primera opción que voy a responder distinta de la predeterminada es la política que define los requisitos previos (<prerequisites_policy>). Se define lo que el cpan debe hacer cuando se enfrentan con un módulo que tiene una adicción. El valor predeterminado es "pedir" (ask).

  Política sobre los requisitos previos de construcción (seguir, preguntar o ignorar)?  [Pregunta] siga 

Voy a cambiar a "seguir" (abajo). Así que cuando el cpan encontrar un módulo que tiene la dependencia, en lugar de preguntarme, va a tratar de instalarlo automáticamente. Esta facilidad es muy útil durante mucho tiempo con un árbol de dependencia tan grande como el catalizador.

  Política sobre la instalación de módulos 'build_requires' (sí, no, pregúntele a / sí,
 preguntar / no)?  [Pregunta / sí] sí 

A continuación se presenta la pregunta sobre la instalación de las dependencias de construcción de los módulos. Voy a cambiar de 'pedir / sí "a" sí "a las dependencias de construcción se han instalado también. El valor predeterminado es pedir y sugerir un sí por respuesta.

Luego viene una serie de preguntas acerca de las herramientas que normalmente utilizan cpan. Aprovecho este momento para observar si alguno falta, entonces lo instale.

  ¿Dónde está su programa bzip2?  [/ Bin/bzip2]

 ¿Dónde está su programa gzip?  [/ Bin / gzip] 

Varias opciones después de que el siguiente es que puedo cambiar el valor por defecto charset ISO-8859-1 a UTF-8.

  La siguiente opción ofertas con el juego de caracteres (también conocido como juego de caracteres) a su
 terminal soporta.  En general, CPAN es un territorio de habla Inglés, por lo que
 el juego de caracteres no importa mucho, pero algunos CPAN tienen nombres que son
 fuera del rango ASCII.  Si tu terminal es compatible con UTF-8, que debe
 decir no a la siguiente pregunta.  Si se espera que la norma ISO-8859-1 (también conocido como
 Latin1), entonces debería decir que sí.  Si es compatible con Neith, su respuesta
 no importa porque no va a ser capaz de leer los nombres de algunos
 autores de todos modos.  Si su respuesta es no, los nombres se emitirá en UTF-8.

 El terminal espera ISO-8859-1 (sí / no)?  [Sí] en 

CPAN le preguntará si puede conectarse a Internet para descargar la lista de repositorios. Es una buena educación acerca de las cosas que tiene que hacer, así que estamos configuración de las opciones que le permiten más independencia. Conteste sí y esperar a que se descargue la lista de servidores.

Después de comunicarse con el valor por defecto los servidores, se le pregunta acerca de lo que usted desea configurar los repositorios en tres pasos. En primer lugar pedir al continente, luego el país y, finalmente, el propio repositorio. Usted puede elegir más de una opción al mismo tiempo. Elegí a los continentes de América del Sur y América del Norte a los países Brasil, Chile y los Estados Unidos y, finalmente, algunos repositorios de cada país. Siéntase libre de elegir cómo y qué quiere.

Pronto. Ahora usted está en el shell de CPAN.

Instalar el módulo local:: lib

El siguiente paso es instalar y configurar el módulo local:: lib. Para este tipo en el cpan shell de comandos:

  cpan [1]> buscar local:: lib 

Esto hará que la descarga que el módulo de CPAN, pero no lo instale de forma automática. En su lugar, se abre una nueva shell en el directorio en el que desempaquetar el módulo local:: lib.

En esta capa, hacer el sistema de arranque con los siguientes comandos:

  catalizador de espectro @: ~ / perl $ Makefile.PL .cpan/build/local-lib-1.004003-UyX2wf \
 - Manos a la Obra & & make test & & make install 

Por último hay que exportar algunas variables de entorno. Para salir de la shell actual (Ctrl + D), salga de la shell de CPAN (bye o quit) y ejecutar el siguiente comando en bash:

 & gt; & gt;~ / .bashrc eval echo '$ (perl-I $ HOME/perl5/lib/perl5-Mlocal: lib). "& gt; & gt; ~ / bashrc 

Esto añadirá los comandos para exportar las variables de entorno al final de su archivo. Bashrc, y luego cada inicio de sesión que se exportarán automáticamente.

Fuerza de re-aplicación de sus bashrc o iniciar sesión otra vez

  catalizador de espectro @: ~ $.  ~ /. Bashrc 

Asegúrese de que las variables de entorno se han creado o cosas extrañas pueden suceder. Entender por qué "cosas extrañas" otra cosa que un funcionamiento adecuado. Algunos pueden ser realmente extraño. :)

  | grep perl catalizador de espectro @: ~ $ env | grep perl
 home / catalyst / perl5 / lib / perl5: / home / catalyst / perl5 / lib / perl5... PERL5LIB = / home / catalizador / Perl5 / lib / Perl5: / home / catalizador / Perl5 / lib / Perl5 ...
 home / catalyst / perl5 / .modulebuildrc MODULEBUILDRC = / home / catalizador / Perl5 /. Modulebuildrc
 home / catalyst / perl5 / bin: / usr / local / bin: / usr / bin: / bin: / usr / games Bin / usr / local /:: PATH = / home / catalizador / Perl5 / bin / usr / bin: / bin: / usr / games
 = / home / catalyst / perl5 PERL_MM_OPT INSTALL_BASE = = / home / catalizador / Perl5
 catalizador de espectro @: ~ $ 

Retocar el maquillaje

Ahora, antes de comenzar a instalar los módulos, es una buena mejora del propio módulo CPAN.pm. Tenga en cuenta el caso.

  catalizador de espectro @: ~ $ cpan CPAN
 ...
 Instalación / home/catalyst/perl5/bin/cpan
 Redacción / home/catalyst/perl5/lib/perl5/i486-linux-gnu-thread-multi/auto ...
 Añadiendo información de instalación / home/catalyst/perl5/lib/perl5/i486-linux ...
   ANDK/CPAN-1.9402.tar.gz
   / Usr / bin / make install - OK
 Advertencia (por lo general inofensivas): "YAML 'no está instalado, no se mantendrá tienda ...
 catalizador de espectro @: ~ $ 

Después de instalar la nueva versión de la nota CPAN.pm que advierte que el módulo YAML no está instalado. Para que todo vaya gordita que intal también.

  catalizador de espectro @: ~ $ cpan YAML
 ...
 Redacción / home/catalyst/perl5/lib/perl5/i486-linux-gnu-thread-multi/auto/Y ...
 Añadiendo información de instalación / home/catalyst/perl5/lib/perl5/i486-linux ...
   INGY/YAML-0.68.tar.gz
   / Usr / bin / make install - OK
 CPAN: ok YAML cargado (v0.68)
 Va a leer de un archivo YAML / home / catalizador /. Cpan / build /
 HECHO
 No restaurada del Estado (en 0.0265 segundos)
 catalizador de espectro @: ~ $ 

Ahora sí. Vamos a ver, ¿dónde está el recién instalado módulo YAML:

  catalizador de espectro @: ~ $ ls ~ / perl5/lib/perl5
 CPAN CPAN.pm i486-linux-gnu-hilo multi-sitio YAML.pm YAML prueba
 catalizador de espectro @: ~ $ 

Él se instaló en un árbol de directorios creada en el hogar del usuario actual. Todo esto sin pedir la contraseña de root una vez.

Conclusión

Instale los módulos de CPAN local sin contraseña de root es muy fácil. Esto es muy útil en las máquinas en la que sólo tiene permiso de usuario y servidor de alojamiento.

Otra ventaja es que los mismos módulos para llevar a otra máquina (con la misma arquitectura) Perl5 sólo tienes que copiar el directorio que acaba de crear, ya que todos los módulos están instalados en ella, y agregar el comando que las exportaciones de las variables medio ambiente en el equipo de destino. Esto también es útil cuando se tiene un servidor de hosting que no le da acceso a una shell.

Enlaces (in) útiles

Comentarios

  • http://rio.pm.org SmokeMachine

    Te debo una cerveza!

  • http://rio.pm.org SmokeMachine

    Te debo una cerveza!

  • http://blabos.pip.verisignlabs.com/ blab

    Luego me invito a una cerveza!

  • http://blabos.pip.verisignlabs.com/ blab

    Luego me invito a una cerveza!

  • Http://russoz.wordpress.com/ ruso

    Luego blab, estoy también le debo una cerveza. ;-) ES que viene?

  • Http://russoz.wordpress.com/ ruso

    Luego blab, estoy también le debo una cerveza. ;-) ES que viene?

  • Marcio Vitor

    Blaber tb te debo una cerveza, tal vez un ES siguiente. Guión a seguir muy tranquilo que escribiste esto.

  • Marcio Vitor

    Blaber tb te debo una cerveza, tal vez un ES siguiente. Guión a seguir muy tranquilo que escribiste esto.

  • http://blog.blabos.org/2010/02/criando-um-mini-mirror-do-cpan-com-o-cpanmini/ Creación de un mini-espejo con el CPAN cpan:: Mini: Blog de ​​Blaber ampolla

    [...] Para configurar la aplicación para instalar módulos de CPAN a nivel local con local:: lib, el primer paso es configurar el servidor para instalar y configurar el módulo CPAN:: Mini y su [...]

  • Fernando

    ¡Gracias! :)

    vlw mismo .. Todavía tengo una duda más .. d después de todos estos procedimientos si tengo que formatear mi debian .. más manteniendo mi / home .. Tengo que repetir el procedimiento o no?

  • Blaber http://blabos.org de la ampolla

    Bueno, depende.

    Si vuelve a instalar el sistema con la misma versión de Perl, no hay problema.

    Recuerde que algunos módulos escritos en C usando partes que son compilados y vinculados con Perl que se instaló durante la instalación del módulo.

    Sólo recuerde también que no existe un texto más reciente sobre el tema en el puesto Perl cada vez más fácil

  • Fernando

    vlwww .. Blaber! aclarar esto para mí ..

Sitio en Disqus