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

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

8voto

Bjorn Reppen Punkte 21249

Das Neustarten der Maschine hat das Problem für mich gelöst. Zuerst habe ich versucht, /tmp/ zu löschen, aber Node hat trotzdem reklamiert.

6voto

kartik tyagi Punkte 5087

Wenn Sie VS Code verwenden, wird es wahrscheinlich nicht in der Lage sein, den Fehler im großen Arbeitsbereich zu beobachten.

"Visual Studio Code kann in diesem großen Arbeitsbereich keine Dateiänderungen überwachen" (Fehler ENOSPC)

Dies bedeutet, dass der VS Code-Dateibeobachter aufgrund des großen Arbeitsbereichs und vieler Dateien keine Handles mehr hat. Das aktuelle Limit kann durch Ausführen von folgendem Befehl angezeigt werden:

cat /proc/sys/fs/inotify/max_user_watches

Das Limit kann auf sein Maximum erhöht werden, indem Sie /etc/sysctl.conf bearbeiten und diese Zeile am Ende der Datei hinzufügen:

fs.inotify.max_user_watches=524288

Der neue Wert kann dann durch Ausführen von sudo sysctl -p geladen werden.

Hinweis: 524288 ist der maximale Wert, um die Dateien zu beobachten. Obwohl Sie beliebig viele Dateien beobachten können, wird empfohlen, bis zu diesem Limit zu beobachten.

2voto

Pradeep Kumar Punkte 33

Wenn Ihr /tmp-Laufwerk auf einem Linux-Dateisystem als Overflow (oft mit einer Größe von 1 MB) gemountet ist, liegt dies wahrscheinlich daran, dass Sie /tmp nicht als eigene Partition angegeben haben und Ihr Root-Dateisystem vollständig gefüllt ist und /tmp als Fallback neu gemountet wurde.

Um dies zu beheben, nachdem Sie Speicherplatz freigegeben haben, müssen Sie nur den Fallback aushängen, und er sollte an seiner ursprünglichen Stelle neu gemountet werden:

sudo umount overflow

2voto

Ghayyas Mubashir Punkte 138

Ich hatte denselben Fehler. Als ich die Reactjs-App ausführte. Was ich getan habe, ist einfach den node_modules-Ordner zu entfernen und dann node_modules erneut zu installieren. Dadurch wurde der Fehler behoben.

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