Wenn man sich mal sein WSL eingerichtet hat wie z.B. hier beschrieben, wird man recht schnell bei der täglichen Arbeit mit npm merken, dass die Ausführung immer wieder mit dubiosen Fehlermeldungen fehl schlägt mit Bezug auf fehlende Berechtigungen, das keine Dateien geschrieben/gelesen werden könnten usw.
In der Regel kann man durch mehrmaliges Ausführen von npm dann irgendwann einen Durchlauf erfolgreich durchführen. Spätestens beim Befehl yarn aber kam ich auch damit nicht mehr weiter. Begrüßt hat mich hier regelmäßig und nicht durch hartnäckiges Wiederholen verschwindendes
EINVAL: invalid argument, lstat ...
Nach kurzer Suche bin ich auf diesen Eintrag zu WSL gestoßen, wo genau die Problem hierzu benannt werden. Nach dortiger Aussage (Stand: Ende 2017) soll das Problem wohl mit dem nächsten großen Update behoben werden. Bis dahin gibt es einen Workaround:
umount /mnt/c mount -t drvfs -o noatime,fallback=1 C: /mnt/c
Die Zeilen passen ganz gut in das Skript, was ich unter Linux Dienste mit Windows 10 Windows-Subsystem for Linux (WSL) als Service betreiben beschrieben hatte. Würde aktualisiert dann so aussehen:
#!/bin/bash mount | awk '{ print $3 }' | grep -w "/var/www/html" >/dev/null 2>&1 if [ "$?" -eq 0 ] ; then echo "Already mounted" else umount /mnt/c mount -t drvfs -o noatime,fallback=1 C: /mnt/c mount --bind /mnt/c/Development /var/www/html fi service apache2 start service mysql start