2016-08-05 29 views
0

ich will XML installieren :: LibXML (unter anderem) auf einem Linux-Rechner mit kein Internet und keinen Root-Zugriff.herunterladen XML :: LibXML und seine Abhängigkeiten

Meine aktuelle Lösung ist Download XML :: LibXML und seine Abhängigkeiten von Windows-, mit Erdbeer-perl, dann sie auf meine Linux Maschine installieren. Aber ich habe nicht herausgefunden, wie das geht.

Hier ist, was ich versucht habe:

Zuerst habe ich XML downloaden :: LibXML von Windows- CPAN-Shell:

cpan[1]>get XML::LibXML 

Und es lädt das Paket erfolgreich in:

C:\Users\mikedu95\.cpan\sources\authors\id\S\SH\SHLOMIF\XML-LibXML-2.0128.tar.gz 

Aber nicht seine Abhängigkeiten. Tatsächlich nun auf Linux:

cpanm XML::LibXML --from /data/cpan/sources/ 

--> Working on XML::LibXML 
Fetching file:///data/cpan/sources/authors/id/S/SH/SHLOMIF/XML-LibXML-2.0128.tar.gz ... OK 
Configuring XML-LibXML-2.0128 ... OK 
==> Found dependencies: XML::SAX, XML::SAX::Exception, XML::NamespaceSupport, XML::SAX::Base 
--> Working on XML::SAX 
Fetching file:///data/cpan/sources/authors/id/G/GR/GRANTM/XML-SAX-0.99.tar.gz ... OK 
Configuring XML-SAX-0.99 ... OK 

Wir können sehen, dass XML :: LibXML und seine Abhängigkeit XML :: SAX richtig in meinem lokalen Spiegel /data/cpan/sources/ gefunden werden, weil ich XML heruntergeladen haben: : SAX auch.

Allerdings sind die anderen Abhängigkeiten nicht gefunden:

==> Found dependencies: XML::NamespaceSupport, XML::SAX::Base 
--> Working on XML::NamespaceSupport 
Fetching file:///data/cpan/sources/authors/id/P/PE/PERIGRIN/XML-NamespaceSupport-1.11.tar.gz ... FAIL 
! Download file:///data/cpan/sources/authors/id/P/PE/PERIGRIN/XML-NamespaceSupport-1.11.tar.gz failed. Retrying ... 
! Download file:///data/cpan/sources/authors/id/P/PE/PERIGRIN/XML-NamespaceSupport-1.11.tar.gz failed. Retrying ... 
! Download file:///data/cpan/sources/authors/id/P/PE/PERIGRIN/XML-NamespaceSupport-1.11.tar.gz failed. Retrying ... 
! Failed to download file:///data/cpan/sources/authors/id/P/PE/PERIGRIN/XML-NamespaceSupport-1.11.tar.gz 
! Failed to fetch distribution XML-NamespaceSupport-1.11 

Dank.

+2

Installieren von "pure Perl" -Module auf Strawberry Perl für Windows und Kopieren der Dateien auf Linux könnte funktionieren, aber wahrscheinlich nicht leicht. Aber XML :: LibXML ist ein Wrapper um die libxml2 C-Bibliothek und der C-Wrapper-Code muss für das richtige Betriebssystem und die richtige Version von Perl kompiliert werden - so können Sie die .DLLs nicht einfach nach Linux kopieren. Ich würde wirklich empfehlen, mit der Person mit Root-Zugriff zu sprechen und sie zu bitten [das OS-Paket zu installieren] (http://grantm.github.io/perl-libxml-by-example/installation.html#installing-on-linux). –

+0

Sie versuchen, ein Modul von einer lokalen Richtung herunterzuladen, 'file: ///data/cpan/sources/authors/id/P/PE/PERIGRIN/XML-NamespaceSupport-1.11.tar.gz fehlgeschlagen' Versuchen Sie und installieren Sie das eine aus den Repos selbst, und dann versuchen Sie es erneut mit LibXML. Wenn Sie die Strawberry Perl-Installation erneut verwenden, wurde das Modul möglicherweise aus irgendeinem Grund nicht installiert. – jjmerelo

Antwort

2

Die Installation XML::LibXML ist wahrscheinlich nicht die letzte Ihrer Anforderungen, und ich schlage vor, dass Sie minicpan verwenden, um einen lokalen CPAN-Spiegel zu erstellen, den Sie in Ihr Offlinesystem kopieren können. Sie können dann alles, was Sie wollen, von diesem Spiegel installieren

+0

Die Installation für ein bestimmtes Modul, XML :: NamespaceSupport, schlägt fehl. Eine lokale Installation von CPAN wird nicht helfen. – jjmerelo

+0

@jjmerelo: Der Build von 'XML :: NamespaceSupport' schlägt am Anfang fehl, wenn cpan versucht, den targz zu holen. Minicpan wird das sicher beheben. – Borodin

+0

OK, ich verstehe deinen Standpunkt. Aber wenn er Minicpan installieren kann, wird er in der Lage sein zu installieren, was auch immer er sucht, richtig? Das Problem ist, dass er an einem System ohne Internet arbeitet und außerdem keinen Root-Zugang hat, also muss er mit dem zur Verfügung stehen, was verfügbar ist. – jjmerelo