2010-12-15 4 views
4

ich ein Perl-Modul berechtigt zu installieren versucht bin: File-Copy-rekursive und ich bin die folgenden Schritte:Perl Modul Installation

1) offen cmd.exe 2) perl -MCPAN -e ‚installieren Datei: : Kopieren :: Rekursiv; '

und ich erhalte die Nachricht "Es sieht so aus, als ob Sie keinen C-Compiler haben und Dienstprogramm installiert. Versuchen, dmake und den MinGW GCC-Compiler mit dem Perl-Paket-Manager zu installieren. Das kann ein paar Minuten dauern ... "

" Herunterladen von Activestate Package Repository Packliste ... fehlgeschlagen 500 nicht ppm4.activestate.com:80 anschließen kann (connect: Timeout). Download-Datei-Copy-rekursive Packliste ... nicht gefunden ppm. fledermausinstallation fehlgeschlagen: Kann kein Paket finden, das MinGW bereitstellt "

Diese sind fehlgeschlagen, weil ich hinter einem Proxy bin, und ich kenne die Proxyeinstellungen, aber ich weiß nicht, wie man sie anwendet in dieser Situation.

Kennt jemand alternative Lösungen zu dieser Lösung?

Vielen Dank.

Antwort

13

Es scheint, dass Sie ActiveState Perl verwenden, das mit einem eigenen Paketmanager (PPM) geliefert wird, um die Installation von Modulen zu erleichtern, insbesondere solche, die normalerweise einen C-Compiler benötigen.

Versuchen Sie, die instructions zu befolgen, um Ihre Umgebung so einzurichten, dass PPM Ihren Proxy kennt. Zum Beispiel die Proxy-Einstellungen für eine einzelne Instanz von cmd.exe einzustellen:

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

Dann im selben Fenster der Eingabeaufforderung, versuchen Sie dies (es funktioniert für mich, obwohl ich nicht hinter einem Proxy bin):

C:\>ppm install File-Copy-Recursive 

Hinweis, dass es wahrscheinlich eine gute Idee (vielleicht sogar erforderlich?) cmd.exe „Als Administrator ausführen“, um sicherzustellen, dass es volle Berechtigung hat.

EDIT: Das bestimmte Modul, das Sie verwenden möchten, ist in reinem Perl geschrieben. Für eine schnelle "Installation" können Sie es einfach von CPAN herunterladen, extrahieren Sie die Dateien und kopieren Sie die "Recursive.pm“Datei in eine Datei \ Struktur kopiert Verzeichnis im selben Verzeichnis wie das Skript platziert:

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

Dank !!. !! Das hat es gelöst, es wurde entweder cmd als Admin ausgeführt und/oder http_proxy = http: // Benutzername: [email protected]: 8080. Danke. –

+0

@Christopher: Großartig, froh, dass ich geholfen habe :-) Ich würde mich freuen, wenn Sie diese Antwort als "akzeptiert" markieren könnten (indem Sie auf das grüne Häkchen unter der Anzahl der Stimmen klicken) – Cameron

1

Hallo Ich denke, Sie verwenden Activestate Perl

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

PPM automatisch mit ActivePerl installiert.

Um PPM zu verwenden, muss Ihr Computer mit dem Internet verbunden sein, Zugriff auf ein PPM-Repository auf einer lokalen Festplatte oder Netzwerkfreigabe haben oder Zugriff auf ein eingehängtes ActiveState ActiveDVD haben.

Wenn Sie über eine Firewall oder einen Proxy mit dem Internet verbunden sind, müssen Sie möglicherweise die Umgebungsvariable http_proxy festlegen. Weitere Informationen finden Sie unter PPM, Proxies und Firewalls.

5

Als Alternative könnten Sie versuchen, die Strawberry Perl Verteilung, die für den Aufbau von XS-Module mit Werkzeugen kommt

+0

+1. Könnte für das OP zu viel Mühe sein (wenn es viele Nicht-Kern-Module gibt, die müsste installiert werden ed), aber die Installation von Modulen unter Strawberry Perl ist so viel einfacher: D – Cameron