2008-12-08 20 views
14

Aquí está la instalación completa de comandos para CPAN y la salida:¿Cómo le digo a CPAN.pm dónde obtener los módulos?

sudo perl -MCPAN -e "install Bundle::CPAN" 
CPAN: Storable loaded ok (v2.13) 
Going to read /home/delgreco/.cpan/Metadata 
    Database was generated on Mon, 08 Dec 2008 03:27:10 GMT 
CPAN: LWP::UserAgent loaded ok (v2.033) 
CPAN: Time::HiRes loaded ok (v1.55) 
CPAN: YAML loaded ok (v0.39) 
Warning: YAML version '0.39' is too low, please upgrade! 
I'll continue but problems are *very* likely to happen. 
Your urllist is empty! The urllist can be edited. E.g. with 'o conf urllist 
push ftp://myurl/' 

Could not fetch authors/id/A/AN/ANDK/Bundle-CPAN-1.857.tar.gz 
Giving up on '/home/delgreco/.cpan/sources/authors/id/A/AN/ANDK/Bundle-CPAN-1.857.tar.gz' 
Note: Current database in memory was generated on Mon, 08 Dec 2008 03:27:10 GMT 

     ...propagated at /usr/lib/perl5/5.8.5/CPAN.pm line 3417. 

Esto funcionó para mí, gracias ...

CPAN> o conf urllist http://cpan.yahoo.com/

De Por supuesto, la instalación de Bundle :: CPAN falló en otras dependencias, pero al menos ahora tengo un YAML 0.68.

Respuesta

19

Esto parece importante:

 
Your urllist is empty! The urllist can be edited. E.g. with 'o conf urllist push ftp://myurl/' 

Quizás ejecutar sudo cpan, entonces o conf init o o conf urllist push http://cpan.yahoo.com/ (por ejemplo) para obtener su urllist embrollo? Luego intenta hacer tus instalaciones.

+0

¡Un millón de gracias! He estado luchando con CPAN durante horas tratando de resolver esto. Agregar el "empuje" al comando de configuración fue vital para mí. El comando que Marcus enumeró como que funcionaba para él no funcionó para mí sin el impulso. –

0

En una conjetura:

sudo perl -MCPAN -e "install YAML" 
+0

intentado que ... me sale: "No se puede encontrar método de objeto 'instalar' a través de paquete 'YAML' en la línea 1. -e" – Marcus

+0

Puedes escribir 'cpan YAML' –

4

Cuando utilizó por primera vez el módulo CPAN, se le preguntó algo similar a "¿Está listo para continuar con la configuración interactiva?" Probablemente respondiste "no". Se seleccionaron las opciones de configuración predeterminadas, por lo que no se configuraron réplicas de repositorios CPAN para que pueda extraer las tarballs de los módulos.

Como han notado otros, puede configurar esa opción con el comando o conf urllist dentro del shell CPAN.

Mi preferencia personal es crear un "miniCPAN", un repositorio local que básicamente contiene la última versión de cada módulo (mucho más pequeño que tirar TODO el CPAN, que contendría muchas versiones desactualizadas de cada módulo). Para ello, configure un repositorio espejo CPAN para usarlo temporalmente, instale el módulo CPAN :: Mini y luego use el programa de línea de comandos minicpan que se instalará para crear su repositorio. Ahora use o conf urllist pop para eliminar el espejo CPAN que configuró, y o confórmese en el archivo push: /// ruta/a/su/minicpan para decirle al módulo CPAN que se instale desde su espejo local a partir de ahora. Puede poner el comando minicpan en cron para actualizar regularmente, o simplemente ejecutarlo desde la línea de comandos siempre que quiera actualizar.

El formato del comando es minicpan

minicpan -l /path/to/your/local/minicpan-repository -r http://example.com/url/of/CPAN/mirror 
Cuestiones relacionadas