Ich möchte ein Perl-Skript in Linux-Umgebung unter Windows 10 (WSL) verwenden. Ich habe WSL aktiviert, installierte Compiler (gcc
und make
), ausgeführt sudo apt-get install build-essential
. Perl arbeitet und ich kann einfache Skripte ausführen. Probleme beginnen, wenn ich versuche, ein Perl-Modul zu installieren. Ich habe beispielsweise versucht, LWP
hinzuzufügen, indem ich perl -MCPAN -e'install "LWP"'
ausgeführt habe. Es gibt viele Fehler-/Warnmeldungen, beginnend mit Warning: the following files are missing in your kit:
. Die volle Ausgabe ist zu groß, um sie hier einzufügen, also muss ich sie woanders hinlegen: http://pastebin.com/RRRedwbG. Kurz gesagt, unabhängig vom Paket werden alle .pm- und .t-Dateien als fehlend betrachtet.Installieren von Perl-Modulen in [Windows-Subsystem für Linux]
Antwort
Die Lösung wurde bei github.com/Microsoft/BashOnWindows/issues/186 gefunden:
1. Lauf sudo apt-get install liblocal-lib-perl cpanminus build-essential
2. bearbeiten /usr/lib/perl/5.18.2/Config.pm
(um Zeile 94) dont_use_nlink => 1
3. eval "$(perl -I$HOME/perl5/lib/perl5 -Mlocal::lib)"
Dieser dritte Befehl dient zur Verwendung von local :: lib, was nichts mit dem vorliegenden Problem zu tun hat. – ikegami
Der erste Befehl installiert 'local :: lib',' cpanm' und einige Build-Tools (make, gcc, etc). Es ist auch nicht direkt verwandt. – melpomene
gut, nur Bearbeitung 'Config.pm' funktionierte nicht für mich, ich war nur erfolgreich nach dem Ausführen aller drei Befehle. –
auf Unix-Dateisysteme zu haben, ein Verzeichnis des .
ist ein Hardlink zu sich selbst, und ein Verzeichnis ..
ist ein Hardlink zu seinem übergeordneten Verzeichnis. Wenn Sie also stat
ein Verzeichnis angeben, wird die von stat
zurückgegebene Linkanzahl mindestens 1 (name) + 1 (.) + $num_sub_dirs (..)
sein.
$ ls -ld .
drwx------ 5 ikegami ikegami 46 Dec 16 12:03 . # 5 = Could have up to three subdirs
$ ls -l .
total 0
drwx------ 2 ikegami ikegami 10 Dec 16 12:03 a # 2 = No subdirs
drwx------ 3 ikegami ikegami 24 Dec 16 12:03 b # 3 = Could have up to one subdir
drwx------ 2 ikegami ikegami 10 Dec 16 12:03 c # 2 = No subdirs
Datei :: Finden stützt sich auf diese Informationen, um sich selbst zu optimieren, wenn möglich.
Perl und Datei :: Finden Sie wissen, das ist nicht der Fall für die FAT und NTFS-Dateisysteme, so dass die Optimierung unter Windows deaktiviert ist. Allerdings sieht VSL für sie wie ein Linux-System aus, so dass sie fälschlicherweise annehmen, dass es sich um ein Unix-Dateisystem handelt.
Die beste Lösung ist, um die Datei durch die Ausgabe des folgenden Befehls namens bearbeiten:
perl -MConfig -e'CORE::say $INC{"Config.pm"}'
ändern
dont_use_nlink => undef
zu
dont_use_nlink => 1
Sie können die Änderung bestätigen mit
Diese Antwort basiert auf this bug report.
- 1. Installieren von OpenCPU auf Amazon Linux-Instanz
- 2. Installieren von gdal-config auf meinem Linux
- 3. Installieren von php5.6 auf Kali Linux
- 4. Wie Installieren von Eclipse auf Linux
- 5. Installieren Sie Rabbitmqadmin auf Linux
- 6. Installieren Sie Python2.7 in Linux obwohl Chefrezept
- 7. Mercurial auf Redhat installieren Linux
- 8. linux centos 6.7 pip3 installieren
- 9. So installieren Php5.6 in Amazon Linux
- 10. SciPy unter Linux installieren Debian
- 11. OpenCV Linux wie FFMPEG installieren
- 12. Wie pimcore auf Linux installieren
- 13. Installieren Sie ein anderes Perl in Linux?
- 14. Installieren Laravel auf Xampp in Arch Linux
- 15. Python-Paket von GitHub in Anaconda auf Linux installieren Ubuntu
- 16. Installieren von Git-LFS in Peppermint Linux 6
- 17. Installieren Sie "ibm_db2" Erweiterung für PHP unter Linux?
- 18. Linux - Wie Osmdroid-Bibliotheken für Android-Studio mit Gradle installieren?
- 19. Wie maven2 auf RedHat Linux installieren
- 20. Installieren von node.js-Paketen für unterschiedliche Architekturen
- 21. Wie Java auf Arch Linux installieren
- 22. Wie GCC installieren 5.1 auf Linux (Ubuntu)
- 23. Installieren von R-Paketen für alle Benutzer
- 24. So installieren Linux-Pakete durch Python
- 25. Kann HTK unter Linux nicht installieren
- 26. So installieren Sie Blur Admin unter Linux
- 27. installieren und osgEarth unter Linux ausführen
- 28. Installieren Sie mehrere Versionen von MongoDB unter Linux
- 29. Installieren von ModSecurity mit OWASP für Windows
- 30. Wie kann ich Curl unter Linux installieren?
Wahrscheinlich dieses Problem: https://github.com/Microsoft/BashOnWindows/issues/186 – melpomene
ja! Ich habe es gerade auch gefunden –
@VasilyA Übrigens können Sie einfach 'cpan LWP' tun. Keine Notwendigkeit, sich mit 'perl -MCPAN -e ... zu beschäftigen. – melpomene