2010-12-15 75 views
4

Je tente d'installer un module Perl intitulé: File-Copy-récursive et je suis procédez comme suit:Perl Installation du module

1) cmd.exe ouvert 2) perl -e -MCPAN « install fichier: : Copier :: Recursive; '

et je reçois le message "Il semble que vous n'ayez pas de compilateur C et que vous ayez installé l'utilitaire." Essayez d'installer dmake et le compilateur MinGW gcc en utilisant Perl Package Manager. "

" Téléchargement ActiveState package Repository packlist ... 500 échoué Impossible de se connecter à ppm4.activestate.com:80 (connecter: délai d'attente). Téléchargement du fichier-Copy-récursive packlist ... pas trouvé ppm. batte installation a échoué: Impossible de trouver un package qui fournit MinGW »

Ces échoué parce que je suis derrière un proxy, et je ne sais les paramètres de proxy, mais je ne sais pas comment les appliquer dans cette situation.

t-il quelqu'un au courant des corrections alternatives à cette solution?

Merci.

Répondre

13

Il semble que vous utilisiez ActiveState Perl, qui possède son propre gestionnaire de paquets (appelé PPM) pour faciliter l'installation des modules, en particulier ceux qui nécessiteraient normalement un compilateur C pour pouvoir être installés.

Essayez de suivre la instructions pour configurer votre environnement afin que PPM au courant de votre proxy. Par exemple, pour définir les paramètres de proxy pour une instance unique de cmd.exe:

C:\>set http_proxy=http://username:[email protected]:8080 

Puis, dans la même fenêtre d'invite de commande, essayez ceci (cela fonctionne pour moi, bien que je ne suis pas derrière un proxy):

C:\>ppm install File-Copy-Recursive 

Notez qu'il est probablement une bonne idée (peut-être même nécessaire?) pour exécuter cmd.exe « en tant qu'administrateur » pour vous assurer qu'il a une autorisation complète.

EDIT: Le module particulier que vous souhaitez utiliser est écrit en Perl pur. Pour une "installation" rapide, vous pouvez simplement le télécharger depuis le CPAN, extraire les fichiers et copier le "Recursive".h » fichier dans une structure de répertoire \ Copier le fichier placé dans le même répertoire que votre script:

yourscript.pl 
File\ 
    Copy\ 
     Recursive.pm 
+0

Merci !!. !! Cela l'a résolu, il était soit en cours d'exécution cmd comme administrateur et/ou définir http_proxy = http: // nom d'utilisateur: mot de [email protected]: 8080. Merci –

+0

@Christopher: Super, heureux d'avoir aidé :-) Je vous serais reconnaissant si vous pouviez marquer cette réponse comme «acceptée» (en cliquant sur le contour de la coche verte sous le décompte des votes) – Cameron

1

Salut Je suppose que vous utilisez ActiveState Perl

regard sur http://docs.activestate.com/activeperl/5.10/faq/ActivePerl-faq2.html#what_is_ppm

PPM est installé automatiquement avec ActivePerl. Pour utiliser PPM, votre ordinateur doit être connecté à Internet, avoir accès à un référentiel PPM sur un disque dur local ou un partage réseau, ou avoir accès à un ActiveState ActiveDVD monté.

Si vous vous connectez à Internet via le pare-feu ou un proxy, vous devrez peut-être définir la variable d'environnement http_proxy. Voir PPM, Proxies et Firewalls pour plus d'informations.

5

Comme alternative, vous pouvez essayer la distribution Strawberry Perl qui est livré avec des outils pour la construction de modules XS

+0

+1 pourrait poser trop de problèmes à l'OP (s'il y a beaucoup de modules non essentiels qui aurait besoin d'être installé ed encore), mais installer des modules sous Strawberry Perl est beaucoup plus simple: D – Cameron