Ich habe heute an einem neuen Tool gearbeitet, bei dem ich während einiger Tests mit einem Perl-Skript in meiner Ubuntu-Box, die mit Oracle Virtual Box installiert wurde, auf ein kleines Problem gestoßen bin.
Grundsätzlich wurde der Fehler "XML / LibXML.pm in @INC kann nicht gefunden werden" angezeigt und sah folgendermaßen aus:
Kann XML / LibXML.pm in @INC nicht finden (möglicherweise müssen Sie das XML :: LibXML-Modul installieren) (@INC enthält: / etc / perl /usr/local/lib/x86_64-linux-gnu/perl/5.22) .1 /usr/local/share/perl/5.22.1 /usr/lib/x86_64-linux-gnu/perl5/5.22 / usr / share / perl5 /usr/lib/x86_64-linux-gnu/perl/5.22 / usr /share/perl/5.22 / usr / local / lib / site_perl / usr / lib / x86_64-linux-gnu / perl-base.) in Zeile 15 ./run_test.pl.
BEGIN fehlgeschlagen - Kompilierung in Zeile 15 ./run_test.pl abgebrochen.
Da der Fehler auf die Lösung hindeutete, habe ich versucht, das LibXML-Perl-Modul mit dem folgenden Befehl zu installieren:
sudo cpan install XML::LibXML
Aber dieser Befehl stieß auf ein anderes Problem. Die vollständige Ausgabe lautet wie folgt:
Laden des internen Null-Loggers. Installieren Sie Log :: Log4perl zum Protokollieren von Nachrichten
Reading '/home/abhi/.cpan/Metadata'
Die Datenbank wurde am Do., 23. März 2017, 09:41:02 GMT erstellt
Ausführen der Installation für das Modul 'XML :: LibXML'
Prüfsumme für /home/abhi/.cpan/sources/authors/id/S/SH/SHLOMIF/XML-LibXML-2.0129.tar.gz ok
'YAML' nicht installiert, speichert keinen dauerhaften Status
Konfigurieren von S / SH / SHLOMIF / XML-LibXML-2.0129.tar.gz mit Makefile.PL
Aktivieren Sie natives Perl UTF8
Ausführen von xml2-config ... hat es nicht geschafft, libxml2 config zu bekommen
Optionen:
LIBS = '- L / usr / local / lib -L / usr / lib -lxml2 -lm'
INC = '- I / usr / local / include -I / usr / include'
Wenn dies falsch ist, wiederholen Sie den Vorgang wie folgt:
$ / usr / bin / perl Makefile.PL LIBS = '- L / Pfad / zu / lib' INC = '- I / Pfad / zu / include'
Überprüfung der Fähigkeit zur Verknüpfung mit xml2… nein
Es wurde nicht festgestellt, ob eine Verknüpfung mit libxml2, libxml2, zlib und / oder der Math-Bibliothek (-lm) möglich ist.
Versuchen Sie, LIBS- und INC-Werte in der Befehlszeile festzulegen
Oder hol dir libxml2 von
//xmlsoft.org/
Wenn Sie über RPMs installieren, stellen Sie sicher, dass Sie auch -devel installieren
RPMs, da sich hier die Header (.h-Dateien) befinden.
Sie können auch versuchen, perl Makefile.PL mit dem Parameter DEBUG = 1 auszuführen
um den genauen Grund für die Erkennung der libxml2-Installation zu sehen
fehlgeschlagen oder warum Makefile.PL nicht in der Lage war, ein Testprogramm zu kompilieren.
Kein 'Makefile' erstellt SHLOMIF / XML-LibXML-2.0129.tar.gz
/ usr / bin / perl Makefile.PL INSTALLDIRS = site - NICHT OK
Das Update ist nicht sehr schwierig, aber es kann einige Zeit dauern, es herauszufinden. In diesem kurzen Tipp zeige ich Ihnen, wie Sie das LibXML-Modul unter Ubuntu oder einer anderen Linux-Distribution auf Ubuntu-Basis installieren.
So installieren Sie das LibXML Perl-Modul unter Ubuntu Linux
Ich habe den Grund für das Versagen der LibXML-Installation in der oben gezeigten Fehlerausgabe hervorgehoben. Es ist sehr klar an sich:
Es wurde nicht festgestellt, ob eine Verknüpfung mit libxml2, libxml2, zlib und / oder der Math-Bibliothek (-lm) möglich ist.
Auf dem System fehlen eindeutig die Bibliotheken libxml2 und zlib. Um dieses Problem zu beheben, müssen Sie lediglich die erforderlichen Bibliotheken mit dem folgenden Befehl installieren:
sudo apt-get install zlib1g-dev libxml2-dev
Sobald Sie die Bibliotheken installiert haben, gehen Sie wie folgt vor und installieren Sie das LibXML Perl-Modul:
sudo cpan install XML::LibXML
Das ist es. Ich hoffe, dass Sie mit dieser schnellen Hilfe die winzigen Probleme bei der Installation des LibXML-Moduls unter Ubuntu 16.04 und anderen Versionen beheben konnten.