web-dev-qa-db-fra.com

Comment installer un module? Problèmes Perl Fraise

J'essaie d'installer un module Perl dans Strawberry Perl sous Windows 7.

J'exécute la commande ci-dessous et je reçois une foule de messages que je ne comprends pas. Il semble que je reçois 500 erreurs, comme si la page n'était pas accessible. Cependant, lorsque je pointe les miroirs dans mon navigateur, je n'ai aucun problème à accéder aux répertoires FTP. J'ai peu d’expérience Perl sous Linux et aucune sous Windows. J'ai essayé d'ajouter manuellement un miroir à la liste d'adresses, et je ne pense pas que cela ait aidé.

C:\Program Files> cpan Win32::IE::Mechanize

CPAN: LWP::UserAgent loaded ok (v5.835)
CPAN: Time::HiRes loaded ok (v1.9721)
Fetching with LWP:
http://cpan.strawberryperl.com/authors/01mailrc.txt.gz
LWP failed with code[500] message[Can't connect to cpan.strawberryperl.com:80 (Bad hostname 'cpan.strawberryperl.com')]
Warning: no success downloading 'C:\strawberry\cpan\sources\authors\01mailrc.txt.gz.tmp5264'. Giving up on it.
Fetching with LWP:
ftp://mirror.teklinks.com/CPAN/authors/01mailrc.txt.gz
LWP failed with code[500] message[LWP::Protocol::MyFTP: Bad hostname 'mirror.teklinks.com']
Fetching with Net::FTP:
ftp://mirror.teklinks.com/CPAN/authors/01mailrc.txt.gz
  Could not connect to Host 'mirror.teklinks.com' with Net::FTP
Fetching with Net::FTP
ftp://mirror.teklinks.com/CPAN/authors/01mailrc.txt.gz.gz
  Could not connect to Host 'mirror.teklinks.com' with Net::FTP
Warning: no success downloading 'C:\strawberry\cpan\sources\authors\01mailrc.txt.gz.tmp5264'. Giving up on it.
Warning: no success downloading 'C:\strawberry\cpan\sources\authors\01mailrc.txt.gz.tmp5264'. Giving up on it.

As a last resort we now switch to the external ftp command 'C:\WINDOWS\system32\ftp.EXE'
to get 'C:\strawberry\cpan\sources\authors\01mailrc.txt.gz.tmp5264'.

Doing so often leads to problems that are hard to diagnose.

If you're the victim of such problems, please consider unsetting the
ftp config variable with

    o conf ftp ""
    o conf commit

Issuing "C:\WINDOWS\system32\ftp.EXE -n"

  Trying with external ftp to get
    ftp://mirror.teklinks.com/CPAN/authors/01mailrc.txt.gz
  Going to send the dialog
    open mirror.teklinks.com
    user anonymous [email protected]
    lcd C:\strawberry\cpan\sources\authors
    cd /
    cd CPAN
    cd authors
    bin
    passive
    get 01mailrc.txt.gz 01mailrc.txt.gz.tmp5264
    quit

Unknown Host mirror.teklinks.com.
Not connected.
Local directory now C:\strawberry\cpan\sources\authors.
Not connected.
Not connected.
Not connected.
Not connected.
Invalid command.
Not connected.
Bad luck... Still failed!
Can't access URL ftp://mirror.teklinks.com/CPAN/authors/01mailrc.txt.gz.

Fetching with LWP:
http://cpan.strawberryperl.com/authors/01mailrc.txt.gz
LWP failed with code[500] message[Can't connect to cpan.strawberryperl.com:80 (Bad hostname 'cpan.strawberryperl.com')]
Warning: no success downloading 'C:\strawberry\cpan\sources\authors\01mailrc.txt.gz.tmp5264'. Giving up on it.
Warning: no success downloading 'C:\strawberry\cpan\sources\authors\01mailrc.txt.gz.tmp5264'. Giving up on it.
Fetching with LWP:
ftp://mirror.teklinks.com/CPAN/authors/01mailrc.txt.gz
LWP failed with code[500] message[LWP::Protocol::MyFTP: Bad hostname 'mirror.teklinks.com']
Fetching with Net::FTP:
ftp://mirror.teklinks.com/CPAN/authors/01mailrc.txt.gz
  Could not connect to Host 'mirror.teklinks.com' with Net::FTP
Fetching with Net::FTP
ftp://mirror.teklinks.com/CPAN/authors/01mailrc.txt.gz.gz
  Could not connect to Host 'mirror.teklinks.com' with Net::FTP
Warning: no success downloading 'C:\strawberry\cpan\sources\authors\01mailrc.txt.gz.tmp5264'. Giving up on it.
Warning: no success downloading 'C:\strawberry\cpan\sources\authors\01mailrc.txt.gz.tmp5264'. Giving up on it.

As a last resort we now switch to the external ftp command 'C:\WINDOWS\system32\ftp.EXE'
to get 'C:\strawberry\cpan\sources\authors\01mailrc.txt.gz.tmp5264'.

Doing so often leads to problems that are hard to diagnose.

If you're the victim of such problems, please consider unsetting the
ftp config variable with

    o conf ftp ""
    o conf commit

Issuing "C:\WINDOWS\system32\ftp.EXE -n"

  Trying with external ftp to get
    ftp://mirror.teklinks.com/CPAN/authors/01mailrc.txt.gz
  Going to send the dialog
    open mirror.teklinks.com
    user anonymous [email protected]
    lcd C:\strawberry\cpan\sources\authors
    cd /
    cd CPAN
    cd authors
    bin
    passive
    get 01mailrc.txt.gz 01mailrc.txt.gz.tmp5264
    quit

Unknown Host mirror.teklinks.com.
Not connected.
Local directory now C:\strawberry\cpan\sources\authors.
Not connected.
Not connected.
Not connected.
Not connected.
Invalid command.
Not connected.
Bad luck... Still failed!
Can't access URL ftp://mirror.teklinks.com/CPAN/authors/01mailrc.txt.gz.

CPAN: YAML loaded ok (v0.73)
Please check, if the URLs I found in your configuration file
(http://cpan.strawberryperl.com/, ftp://mirror.teklinks.com/CPAN/) are
valid. The urllist can be edited. E.g. with 'o conf urllist Push
ftp://myurl/'

Could not fetch authors/01mailrc.txt.gz
17
Brian

Ce sont facilement des problèmes de pare-feu/proxy. Vous devez configurer la variable http_proxy dans la variable cpan. . Entrez le shell cpan en saisissant cpan à l'invite de commande de shell, puis en appuyant sur Entrée. Une fois dans le shell cpan, entrez les informations suivantes:

o conf http_proxy http://proxy.mycorp.com:8080/

cpan peut alors vous demander le nom d'utilisateur et le mot de passe afin que vous puissiez utiliser le proxy pour le trafic http, au moins. 

Il est possible que votre accès FTP soit bloqué par le pare-feu. cpan va contourner ce problème.

  • Vous pouvez consulter votre navigateur si la configuration du proxy est simple. 
  • Si c'est plus complexe, vous devrez
    • coller l'URL du script de configuration dans l'adresse du navigateur 
    • ouvrez cette URL avec un éditeur lorsque le navigateur vous y invite (ou utilisez un éditeur prenant des URL http, comme jEdit ou Notepad ++ .). 

Une fois que vous avez analysé la casse pour votre emplacement et votre CPAN, vous pouvez alors prendre le nom du serveur renvoyé, le port éventuel, et définir la variable d'environnement ou la configuration cpan avec la valeur.

19
Axeman

Cela ressemble à un problème de proxy. Le shell cpan utilise des variables d’environnement qui doivent être définies pour qu’il connaisse un proxy - il ne peut pas les détecter à partir du navigateur.

Les variables d'environnement sont:

http_proxy         proxy Host for http requests
ftp_proxy          proxy Host for ftp requests

Puisque vous êtes sous Windows, vous pouvez soit effectuer les opérations suivantes à partir de la même commande Shell:

C:\> set http_proxy=http://proxy.sn.no:8001/
C:\> set ftp_proxy=http://proxy.sn.no:8001/
C:\> cpan 

puis essayez d'installer comme avant. Étant donné que votre CPAN utilise FTP, le ftp_proxy devra être défini (et oui, l’URL correspondante sera généralement HTTP). 

Vous pouvez également définir les variables d'environnement de manière permanente dans le panneau de configuration du système, généralement sous Paramètres avancés, variables d'environnement. Vous pouvez les définir pour le système ou pour l'utilisateur actuel. Il est préférable de ne pas les configurer pour l'ensemble du système, sauf si vous avez une très bonne raison. 

Vous devrez déterminer ce qu'est réellement le proxy. Votre navigateur doit savoir, alors jetez un coup d'oeil dans ses paramètres Internet.

6
Stuart Watt

J'ai eu un problème similaire, même si les solutions proposées ici ne m'ont pas résolu le problème. Je venais de mettre à niveau Strawberry Perl de 5.18.2.1 à 5.20.1.1 sur trois ordinateurs. Bien que CPAN fonctionne sur les deux ordinateurs Windows 7, il ne l’a pas été sur l’ordinateur Windows Server 2003.

En fin de compte, ce qui m'a résolu, c'est de supprimer le fichier de configuration CPAN, C:\strawberry\Perl\lib\CPAN\Config.pm dans mon cas. J'ai commencé CPAN et fait un reload index; il m'a encore une fois demandé mes informations d'identification (dont je n'ai pas besoin pour le proxy que j'utilise), alors je me suis contenté d'appuyer deux fois sur Entrée pour les laisser vides, et il a réussi à se connecter et à mettre à jour son index.

Je me souviens d’avoir déjà vu des avertissements dans les notes de publication de Strawberry Perl lui demandant de supprimer C:\strawberry après la désinstallation de la version précédente et avant l’installation de la version la plus récente. Il ne semble pas y avoir un tel avertissement cette fois-ci, mais je suppose que c’est une bonne pratique.

En passant, une solution temporaire que j’avais utilisée avant de pouvoir rétablir CPAN était de copier dans les répertoires lib, site et vendor à partir d’une machine sur laquelle j’avais déjà mis à niveau Perl et sur laquelle CPAN did still travail. De cette façon, j'avais tous les modules dont j'avais besoin sans que le CPAN ne fonctionne réellement. (Les deux machines étaient de la même architecture et nécessitaient le même programme d'installation pour être mises à niveau.)

2
Richard Wiseman

Le fichier de configuration CPAN dans l'environnement Strawberry Perl est le suivant:

c:\Strawberry\Perl\lib\CPAN\Config.pm .

Les définitions de configuration pour un utilisateur spécifique sont écrites dans le fichier MyConfig.pm situé sous: C:\Users\user name\AppData\Local\.cpan\CPAN\. Les définitions de proxy peuvent être remplacées dans l'un de ces fichiers.

0
D.Fa