
Ich verwende Linux Mint 19.2 im Dual-Boot-Modus mit Windows. Ich habe ein Projekt, in dem ich Nodemon verwende, um einen Node-Server neu zu starten, auf dem eine NextJS-App läuft. Unter Windows funktioniert das einwandfrei, aber unter Linux gibt es ein paar Probleme.
Erstens, wenn ich das Terminal schließe, entweder das integrierte Terminal oder vscode, wird der Nodemon-Prozess nicht beendet. Wenn ich also versuche, die App neu zu starten, nachdem ich das Terminal oder vscode erneut geöffnet habe, läuft immer noch ein Prozess auf Port 3000, also muss ich diesen Prozess beenden, um den Server erneut zu starten.
Das nächste Problem ist, dass der Server beim Bearbeiten und Speichern einer Datei versucht, neu zu starten, aber dann erhalte ich die Fehlermeldung, dass keine solche Datei existiert. Ich verwende eine Datei von einem gemounteten Speicherlaufwerk, weiß aber nicht, warum das passiert. Es ist sehr frustrierend.
Hier ist der Fehler, den ich bekomme
[nodemon] restarting due to changes...
[nodemon] starting `node app.js`
(node:3440) UnhandledPromiseRejectionWarning: Error: ENOENT: no such file or directory, rmdir '/media/steveK/Storage Drive/Web Pages/React Apps/Full Stack/project/.next/cache/next-babel-loader'
(node:3440) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1)
(node:3440) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
[nodemon] clean exit - waiting for changes before restart
Hier ist app.js
const express = require('express');
const next = require('next');
const PORT = process.env.PORT || 3000;
const dev = process.env.NODE_DEV !== 'production';
const nextApp = next({ dev });
const handle = nextApp.getRequestHandler();
const app = express();
nextApp.prepare().then(() => {
app.get('*', (req, res) => {
return handle(req, res);
});
app.listen(PORT, err => {
if (err) throw err;
console.log(`ready at http://localhost:${PORT}`);
});
});
Ich habe versucht, es zu verwenden nodemon -L app.js
, aber das hilft auch nicht.
Hat sonst noch jemand Probleme beim Ausführen von Nodemon unter Linux? Wenn ja, können Sie mir vielleicht erklären, wie ich das Problem beheben kann.