2008-12-08 16 views
14

Voici la commande complète pour installer CPAN et la sortie:Comment puis-je dire à CPAN.pm où trouver les modules?

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. 

Cela a fonctionné pour moi, merci ...

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

de Bien sûr, l'installation de Bundle :: CPAN a échoué sur d'autres dépendances, mais j'ai au moins un YAML 0.68 maintenant.

Répondre

19

Cela semble importante:

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

Peut-être exécuter sudo cpan, puis o conf init ou o conf urllist push http://cpan.yahoo.com/ (par exemple) pour obtenir votre urllist redressé? Ensuite, essayez de faire vos installations.

+0

Un million de mercis! Je me bats avec le CPAN depuis des heures pour essayer de comprendre cela. Ajouter le "push" à la commande o conf urllist était vital pour moi. La commande que Marcus a indiquée comme travaillant pour lui n'a pas fonctionné pour moi sans la poussée. –

0

A une supposition:

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

... J'Essayé obtenir: « Impossible de localiser la méthode objet « install » par paquet « YAML » à la ligne -e 1. » – Marcus

+0

Vous pouvez simplement taper 'cpan YAML' –

4

Lorsque vous avez utilisé le module CPAN pour la première fois, on vous a demandé quelque chose du genre "Êtes-vous prêt à procéder à la configuration interactive?" Vous avez probablement répondu "non". Les options de configuration par défaut ont été sélectionnées. Par conséquent, aucun miroir de référentiel CPAN n'a été configuré pour que vous puissiez extraire des fichiers tarball.

Comme d'autres l'ont noté, vous pouvez configurer cette option avec la commande o conf urllist à l'intérieur du shell CPAN. Ma préférence personnelle est de créer un "miniCPAN", un dépôt local qui contient essentiellement la dernière version de chaque module (beaucoup plus petit que le tirage de tous les CPAN, qui contiendrait de nombreuses versions obsolètes de chaque module). Pour ce faire, configurez un référentiel miroir CPAN à utiliser temporairement, installez le module CPAN :: Mini, puis utilisez le programme de ligne de commande minicpan qui sera installé pour créer votre référentiel. Maintenant, utilisez la commande pop de conf urllist pour supprimer le miroir CPAN que vous avez configuré, et le fichier push de conf urllist: /// path/to/your/minicpan pour indiquer au module CPAN de l'installer à partir de votre miroir local à partir de maintenant. Vous pouvez mettre la commande minicpan dans cron à jour régulièrement, ou simplement l'exécuter à partir de la ligne de commande chaque fois que vous souhaitez actualiser.

Le format de la commande minicpan est

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