Antworten:
Nach einigen Recherchen fand die Lösung. Führen Sie den folgenden Befehl aus.
echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p
Fügen Sie für Arch Linux diese Zeile zu /etc/sysctl.d/99-sysctl.conf hinzu:
fs.inotify.max_user_watches=524288
fs.inotify.max_user_watches=524288zu /etc/sysctl.d/99-sysctl.confund führen sysctl --system. Dies bleibt auch bei Neustarts bestehen. Für weitere Informationen: wiki.archlinux.org/index.php/Sysctl
npm dedupehat es für mich geklärt. Ausgabe
echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf Schreibt am Ende der Datei /etc/sysctl.conf die Zeile "fs.inotify.max_user_watches = 524288" sudo sysctl -p konfiguriert den Kernel zur Laufzeit neu und lädt die Datei /etc/sysctl.conf als Parameter
Jedes Mal, wenn Sie laufen müssen sudo something ..., um etwas zu reparieren, sollten Sie eine Pause einlegen, um darüber nachzudenken, was los ist. Während die hier akzeptierte Antwort vollkommen gültig ist, behandelt sie eher das Symptom als das Problem. Sorta das Äquivalent zum Kauf größerer Satteltaschen, um das Problem zu lösen: Fehler, kann nicht mehr Müll auf Pony laden. Pony hat schon so viel Müll geladen, dass das Pony vor Erschöpfung in Ohnmacht fällt.
Eine Alternative (vielleicht vergleichbar mit dem Entfernen von überschüssigem Müll vom Pony und dem Ablegen auf der Müllkippe) ist das Ausführen von:
npm dedupe
Dann gratuliere dir, dass du das Pony glücklich gemacht hast.
sudound jetzt funktioniert es für mich.
fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -pwie in der akzeptierten Antwort, aber +1 für mich lehrennpm dedupe
Nachdem Sie die Antwort der Granate ausprobiert haben , können Sie eine vorübergehende Korrektur verwenden:
sudo bash -c 'echo 524288 > /proc/sys/fs/inotify/max_user_watches'
Dies entspricht der Antwort von kds , ohne jedoch die Änderungen beizubehalten . Dies ist nützlich, wenn der Fehler erst nach einer gewissen Betriebszeit Ihres Systems auftritt.
Versuchen Sie diesen Befehl ( Quelle ) , um herauszufinden, wer inotify- Instanzen erstellt :
for foo in /proc/*/fd/*; do readlink -f $foo; done | grep inotify | sort | uniq -c | sort -nr
Meins sah so aus:
25 /proc/2857/fd/anon_inode:inotify
9 /proc/2880/fd/anon_inode:inotify
4 /proc/1375/fd/anon_inode:inotify
3 /proc/1851/fd/anon_inode:inotify
2 /proc/2611/fd/anon_inode:inotify
2 /proc/2414/fd/anon_inode:inotify
1 /proc/2992/fd/anon_inode:inotify
Mit ps -p 2857konnte ich Prozess 2857 als identifizieren sublime_text. Erst nachdem ich alle erhabenen Fenster geschlossen hatte, konnte ich mein Knotenskript ausführen.
Dieser Fehler trat auf, nachdem mein Client-PC abgestürzt war, der jest --watchBefehl , den ich auf dem Server ausführte, weiterhin bestand und ich versuchte, ihn jest --watcherneut auszuführen .
Die /etc/sysctl.confin den obigen Antworten beschriebene Ergänzung hat dieses Problem umgangen, aber es war auch wichtig, meinen alten Prozess über ps aux | grep nodeund killdarüber zu finden.
In meinem Fall war es mit vs-Code verbunden, der auf meinem Linux-Computer ausgeführt wurde. Ich ignorierte eine Warnung, die über File Watcher Bla Bla auftauchte. Die Lösung befindet sich auf der vs-code docs-Seite für Linux https://code.visualstudio.com/docs/setup/linux#_visual-studio-code-is-unable-to-watch-for-file-changes-in- this-large-workspace-error-enospc
Die Lösung ist fast die gleiche (wenn nicht die gleiche) wie die akzeptierten Antworten, hat nur mehr Erklärungen für jeden, der hierher kommt, nachdem er auf die Probleme von vs-code gestoßen ist.
In meinem Fall habe ich festgestellt, dass ich ein aggressives Plugin für Vim habe, habe es einfach neu gestartet.
gruntein Programm, das darunter inotify verwendet . Eine gute Erklärung finden Sie unter unix.stackexchange.com/questions/13751/… .