404 Stimmen

Node.js: Was ist der ENOSPC-Fehler und wie lässt er sich lösen?

Ich habe ein Problem mit Node.js und dem Hochladen von Dateien auf den Server. Für das Hochladen von Dateien auf den Server verwende ich dieses Plugin. Als ich mit dem Hochladen von Dateien auf den Server begann, stürzte der Node.js-Prozess ab und zeigte den Fehler:

Fehler: ENOSPC.

Der Server-Code läuft nicht.

$ df -h
Dateisystem     Größe Benutzt Verf. Verw% Eingehängt auf
/dev/xvda1      7,9G   4,1G  3,5G   55% /
udev            288M   8,0K  288M    1% /dev
tmpfs           119M   168K  118M    1% /run
none            5,0M      0  5,0M    0% /run/lock
none            296M      0  296M    0% /run/shm
/dev/xvdf       9,9G   3,0G  6,5G   32% /vol
overflow        1,0M   1,0M    0  100% /tmp

1396voto

Murali Krishna Punkte 14175

ENOSPC bedeutet, dass auf dem Laufwerk kein Platz mehr vorhanden ist.

Führen Sie den untenstehenden Befehl aus, um ENOSPC zu vermeiden:

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

Führen Sie dann aus:

sysctl --system

Dies wird auch nach Neustarts bestehen bleiben. Quelle für technische Details

86voto

Blu Punkte 3936

ENOSPC bedeutet, dass auf dem Laufwerk kein Platz mehr ist.

Vielleicht ist /tmp voll? Sie können npm so konfigurieren, dass es einen anderen temporären Ordner verwendet, indem Sie npm config set tmp /pfad/zu/einem/anderen/verzeichnis festlegen, oder vielleicht alles aus dem /tmp Ordner löschen.

Quelle: npm 1.1.21 kann nicht schreiben, ENOSPC im npm-Repo auf GitHub.

Hinweis: Ich habe mein Problem auf die im obigen Quelle beschriebene Weise gelöst. Sehen Sie jedoch auch Murali Krishna's Antwort, die umfassender ist.

33voto

Danrley Pereira Punkte 1016

Ein einfacher Weg, der mein Problem gelöst hat, war:

npm cache clear

npm oder ein von ihm gesteuerter Prozess beobachtet zu viele Dateien. Durch Aktualisieren von max_user_watches auf dem Build-Node kann dies dauerhaft behoben werden. Für Debian setzen Sie folgendes im Terminal ein:

echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p

Wenn Sie wissen möchten, wie Sie die Anzahl der inotify-Watcher erhöhen, klicken Sie einfach auf den Link.

28voto

orbiteleven Punkte 877

Kann dafür keinen Verdienst nehmen, aber @grenade wies darauf hin, dass npm dedupe die Ursache (zu viele Dateien) behebt und nicht das Symptom.

Quelle: Grunt-Watch-Fehler - Warten...Fataler Fehler: Uhr ENOSPC.

9voto

Manolo de la Vega Punkte 193

Auf Ubuntu 18.04 habe ich einen Trick ausprobiert, den ich verwendet habe, um das Datei-Watching von Ionic/Node zu reaktivieren, und es funktioniert auch hier. Dies könnte nützlich sein für diejenigen, die keinen Zugriff auf Systemkonfigurationsdateien haben.

CHOKIDAR_USEPOLLING=1 npm start

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X