Nodemon: Nodemon startet den Server bei Dateiänderungen nicht neu

Erstellt am 5. Jan. 2014  ·  32Kommentare  ·  Quelle: remy/nodemon

Auf Version 1.0.1 und dann auf Version 1.0.4 aktualisiert, und ich kann den Server bei Dateiänderungen nicht neu starten.

C:\wamp\www\DoLyfe>nodemon -V --dump server.js
5 Jan 20:56:41 - [nodemon] v1.0.4
5 Jan 20:56:41 - [nodemon] to restart at any time, enter `rs`
5 Jan 20:56:41 - [nodemon] ignoring: .git/* node_modules/**/node_modules/*
5 Jan 20:56:41 - [nodemon] watching: *.*
5 Jan 20:56:41 - [nodemon] watching extensions: js
--------------
{ run: false,
  system: { noWatch: false, watchWorks: false },
  required: false,
  dirs: [ 'C:\\wamp\\www\\DoLyfe' ],
  timeout: 1000,
  options:
   { verbose: true,
     dump: true,
     script: 'server.js',
     args: [],
     ignore:
      [ '.git/',
        'node_modules/**/node_modules/',
        re: /\.git/|node_modules/.*.*/node_modules// ],
     watch: [ '*.*', re: /.*\..*/ ],
     restartable: 'rs',
     execMap: { py: 'python', rb: 'ruby' },
     stdin: true,
     execOptions:
      { script: 'server.js',
        exec: 'node',
        nodeArgs: undefined,
        ext: 'js',
        execArgs: [] },
     ext: 'js',
     monitor: [ '*.*', '!.git/*', '!node_modules/**/node_modules/*' ] },
  load: [Function],
  reset: [Function: reset],
  lastStarted: 0,
  loaded: [] }
--------------
OS: win32 x64
node: v0.10.22
nodemon: v1.0.4
cwd: C:\wamp\www\DoLyfe
command: node C:\Users\Alex\AppData\Roaming\npm\node_modules\nodemon\bin\nodemon.js -V --dump server
.js
--------------
5 Jan 20:56:41 - [nodemon] exiting

Ich ändere und speichere server.js und andere js-Dateien in Unterordnern und es passiert nichts (der Server wird nicht neu gestartet, auch mit der tatsächlichen Seitenausgabe getestet).

bug windows

Hilfreichster Kommentar

http://www.reactiongifs.us/wp-content/uploads/2013/03/nevermind_nathan_fillion.gif

Alle 32 Kommentare

Bestätigt.

Mist. Darauf.

Ich habe ein Update in Arbeit, nur Tests auf allen Plattformen ausgeführt (was hoffentlich in Ordnung sein wird!)

Behoben und in npm unter

Auf Version 1.0.5 aktualisiert, funktioniert aber immer noch nicht:

C:\wamp\www\DoLyfe>nodemon -V --dump server.js
6 Jan 00:34:03 - [nodemon] v1.0.5
6 Jan 00:34:03 - [nodemon] to restart at any time, enter `rs`
6 Jan 00:34:03 - [nodemon] ignoring: .git/* node_modules/**/node_modules/*
6 Jan 00:34:03 - [nodemon] watching: *.*
6 Jan 00:34:03 - [nodemon] watching extensions: js
--------------
{ run: false,
  system: { noWatch: false, watchWorks: false },
  required: false,
  dirs: [ 'C:\\wamp\\www\\DoLyfe' ],
  timeout: 1000,
  options:
   { verbose: true,
     dump: true,
     script: 'server.js',
     args: [],
     ignore:
      [ '.git/',
        'node_modules/**/node_modules/',
        re: /\.git/|node_modules/.*.*/node_modules// ],
     watch: [ '*.*', re: /.*\..*/ ],
     restartable: 'rs',
     execMap: { py: 'python', rb: 'ruby' },
     stdin: true,
     execOptions:
      { script: 'server.js',
        exec: 'node',
        nodeArgs: undefined,
        ext: 'js',
        execArgs: [] },
     ext: 'js',
     monitor: [ '*.*', '!.git/*', '!node_modules/**/node_modules/*' ] },
  load: [Function],
  reset: [Function: reset],
  lastStarted: 0,
  loaded: [] }
--------------
OS: win32 x64
node: v0.10.22
nodemon: v1.0.5
cwd: C:\wamp\www\DoLyfe
command: node C:\Users\Alex\AppData\Roaming\npm\node_modules\nodemon\bin\nodemon.js -V --dump server
.js
--------------
6 Jan 00:34:03 - [nodemon] exiting

Hinweis: Meine Befehlszeile lautet:

nodemon -V server.js

Die Datei befindet sich in dem Ordner, in den dieser Befehl eingegeben wurde.

http://www.reactiongifs.us/wp-content/uploads/2013/03/nevermind_nathan_fillion.gif

Okay, also kann ich aus Ihrer Konfiguration ersehen, dass die watchWorks: false - wenn es wahr sein sollte ... das ist es, was dieses Problem verursacht.

Unter welchem ​​Windows-Betriebssystem arbeiten Sie? (Ich habe auf XP getestet ... wahrscheinlich ein wenig niedrig!) Und welche Version des Knotens (ich habe v0.10.23 getestet).

Könnten Sie dies auch versuchen und mir die Ausgabe senden:

var fs = require('fs'),
    crypto = require('crypto'),
    file = 'test' + crypto.randomBytes(16).toString('hex');

console.log('watching', file);

fs.writeFileSync(file, 'ok');

setTimeout(function () {
  fs.watch(file, { persistent: false }, function (event, filename) {
    console.log('fs.watch worked', filename);
  });
}, 1000);

fs.watchFile(file, function (a, b) {
  console.log('watchFile worked');
})

setTimeout(function () {
  fs.writeFileSync(file, 'ok1');
}, 2000);

Nicht mit nodemon, sondern nur als "node script.js".

Hallo,

Ich stehe auch vor diesem Problem. Ich verwende Windows 8.1 (x64), Knoten 0.10.24.

Die Ausgabe dieses Befehls ist für mich die folgende:

>node test.js
watching test5aa09b09f6618bf5fd3c3d53fba9bd1f
fs.watch worked test5aa09b09f6618bf5fd3c3d53fba9bd1f
fs.watch worked test5aa09b09f6618bf5fd3c3d53fba9bd1f
watchFile worked

Wenn ich die generierte Datei öffne und etwas hinzufüge, erhalte ich wieder die gleichen Nachrichten.

Vielen Dank!

Können Sie auch die Ausgabe von nodemon --dump einschließen, damit ich Ihre überprüfen kann?
config.

Am Sonntag, dem 5. Januar 2014, schrieb gaborpro:

Hallo,

Ich stehe auch vor diesem Problem. Ich verwende Windows 8.1 (x64), Knoten 0.10.24.

Die Ausgabe dieses Befehls ist für mich die folgende:

Knoten test.js
Test5aa09b09f6618bf5fd3c3d53fba9bd1f beobachten
fs.watch funktionierte test5aa09b09f6618bf5fd3c3d53fba9bd1f
fs.watch funktionierte test5aa09b09f6618bf5fd3c3d53fba9bd1f
watchFile hat funktioniert

Wenn ich die generierte Datei öffne und etwas hinzufüge, bekomme ich das gleiche
Nachrichten wieder.

Vielen Dank!

- -
Antworten Sie direkt auf diese E-Mail oder sehen Sie sie sich unter Gi tHubhttps an: //github.com/remy/nodemon/issues/252#issuecomment -31619873
.

- Remy

Ich arbeite jetzt und habe leider keinen Zugang zu meinem Heimcomputer. Abends kann ich es überprüfen.

Wenn es hilft, verwende ich die Standardkonfigurationsdatei, die mit npm geliefert wird.

@remy lol, das GIF war lustig! :-)

Ich bin auf Win 8 x64 , habe es mit Node v0.10.22 versucht und auch auf v0.10.24 aktualisiert (übrigens befindet sich die Node-Version in der Ausgabe von --dump ).

Hier ist die Ausgabe Ihres Skripts:

watching test808f642ac04ce787747d5dd5f0581f2a
fs.watch worked test808f642ac04ce787747d5dd5f0581f2a
fs.watch worked test808f642ac04ce787747d5dd5f0581f2a
watchFile worked

--dump Ausgabe mit Knoten v0.10.24 :

C:\wamp\www\DoLyfe>nodemon -V --dump server.js
6 Jan 14:54:38 - [nodemon] v1.0.5
6 Jan 14:54:38 - [nodemon] to restart at any time, enter `rs`
6 Jan 14:54:38 - [nodemon] ignoring: .git/* node_modules/**/node_modules/*
6 Jan 14:54:38 - [nodemon] watching: *.*
6 Jan 14:54:38 - [nodemon] watching extensions: js
--------------
{ run: false,
  system: { noWatch: false, watchWorks: false },
  required: false,
  dirs: [ 'C:\\wamp\\www\\DoLyfe' ],
  timeout: 1000,
  options:
   { verbose: true,
     dump: true,
     script: 'server.js',
     args: [],
     ignore:
      [ '.git/',
        'node_modules/**/node_modules/',
        re: /\.git/|node_modules/.*.*/node_modules// ],
     watch: [ '*.*', re: /.*\..*/ ],
     restartable: 'rs',
     execMap: { py: 'python', rb: 'ruby' },
     stdin: true,
     execOptions:
      { script: 'server.js',
        exec: 'node',
        nodeArgs: undefined,
        ext: 'js',
        execArgs: [] },
     ext: 'js',
     monitor: [ '*.*', '!.git/*', '!node_modules/**/node_modules/*' ] },
  load: [Function],
  reset: [Function: reset],
  lastStarted: 0,
  loaded: [] }
--------------
OS: win32 x64
node: v0.10.24
nodemon: v1.0.5
cwd: C:\wamp\www\DoLyfe
command: node C:\Users\Alex\AppData\Roaming\npm\node_modules\nodemon\bin\nodemon.js -V --dump server
.js
--------------
6 Jan 14:54:38 - [nodemon] exiting

@alexilyaev das ist großartig -

Es ist seltsam, weil der einfache Test für Sie funktioniert hat (um die Watch-Unterstützung zu überprüfen), die Konfigurationseinstellung system.watchWorks jedoch falsch ist.

Könntest du mich im #nodemon irc-Kanal auf freenode.net begleiten? Ich möchte ein paar Skripte ausprobieren, um zu testen und zu reparieren, was los ist.

Ich habe gerade meine Windows 8-VM gestartet und das heißt, sie hat auch system.watchWorks = true - das ist also komisch.

(und jetzt habe ich gerade meinen Windows-Laptop wiederbelebt, und _even_ das zeigt sich für watchWorks, aber offensichtlich fliegt es nicht für einige von Ihnen, also würde ich es gerne für Sie sortieren!).

Ich habe das gleiche Problem, ich helfe Ihnen gerne weiter, wenn Sie etwas ausprobieren müssen

Veröffentlichung in Kürze.

Mit diesem Skript bestätigt behoben: https://gist.github.com/remy/8283715

Bestätigt mit 1.0.6 .
Vielen Dank!

Nur eine Frage: Git Pull löst diese Zeilen mit -V cmd aus.

6 Jan 20:59:36 - [nodemon] files triggering change check: .git
6 Jan 20:59:36 - [nodemon] changes after filters (before/after): 1/0
6 Jan 20:59:36 - [nodemon] files triggering change check: .git
6 Jan 20:59:36 - [nodemon] changes after filters (before/after): 1/0

Sie lösen keinen Neustart aus, aber ich frage mich, warum sie ausgeführt werden, wenn .git Teil der Ignorierliste ist.

{
    "ext": "js json",
    "ignore": [
        ".git",
        "app",
        "config",
        "logs",
        "node_modules",
        "scripts",
        "test"
    ]
}

Gleiches gilt für html -Dateien, die sich direkt unter einem ignorierten Ordner befinden (z. B. app\index.html ), jedoch nicht in tieferen Ebenen.

Und noch eine kurze Frage: Kann ich Nodemon anweisen, nur eine oder mehrere Dateien (z. B. server.js ) in dem Verzeichnis zu überwachen, in dem sie ausgeführt werden?
Ich muss also nicht jeden Ordner in diesem Stammverzeichnis ignorieren oder server.js in ein Unterverzeichnis legen?

Wenn .git in der Triggerprüfung aufgeführt ist - Sie haben Recht -, sollte es ignoriert werden, basierend auf dem, was Sie in Ihrer Ignorierung haben. Es kommt irgendwie durch die Prüfung (ich werde diese Woche erneut testen und sehen, ob ich etwas tun kann, um es zu unterdrücken.

Wenn Sie möchten, dass es nur für eine einzelne Datei neu gestartet wird ( server.js Ich denke, das sagen Sie), dann legen Sie das einfach in die Uhr:

{
  "watch": ["server.js"]
}

Jetzt wird nodemon nur neu gestartet, wenn sich server.js ändert.

Großartig, das hat funktioniert.
Andererseits lösen alle anderen gespeicherten Dateien diese change check -Zeilen aus, obwohl nur eine Datei abgehört werden sollte.

Wenn ich mir watch.js anschaue, sollte die Funktion ignoredFilter aufgerufen werden, bevor filterAndRestart aufgerufen wird. Dort werden diese Zeilen ausgegeben.

Vielen Dank!

@remy Übrigens , was war der Unterschied zwischen Ihrer Win 8 VM und unseren Setups?

Das heißt, warum hat es bei Ihren Tests für Sie funktioniert, aber bei uns nicht?

Ich weiß nicht wirklich, was der Unterschied im Setup ist (vielleicht weil die
Das Dateisystem auf meiner VM befindet sich unter einem Mac OS und das Dateisystem ist irgendwie
anders, ich weiß nicht), aber was ich aus dem --dump sehe ist, dass das
config.system.watchWorks ist falsch, während meins wahr war.

Aber als ich heute Abend getestet habe, war watchWorks falsch
warum ich dieses Update vollständig testen konnte, weil ich das replizieren konnte
Problem richtig.

Am 7. Januar 2014 um 22:18 Uhr schrieb Alex Ilyaev [email protected] :

@remy https://github.com/remy Übrigens , was war der Unterschied zwischen
Sie sind Win 8 VM und unsere Setups?

Das heißt, warum hat es bei Ihren Tests für Sie funktioniert, aber bei uns nicht?

- -
Antworten Sie direkt auf diese E-Mail oder sehen Sie sie sich auf Gi tHubhttps an: //github.com/remy/nodemon/issues/252#issuecomment -31786025
.

Hallo @remy , ich arbeite an einem API-REST mit Typoskript und verwende nodemon, um meinen Server bei jeder Änderung neu zu laden. Es funktioniert perfekt auf Unix-Systemen, aber andere Mitarbeiter haben Windows und es funktioniert nicht. Hast du eine Idee, was los ist?

Vielen Dank.

Nicht mit den Informationen, die Sie angeboten haben. Vielleicht bekommen sie die Fenster
Bash-Plattform.

Am Freitag, den 18. November 2016 um 22:26 Uhr schrieb raansilrey, [email protected] :

Hallo @remy https://github.com/remy , ich arbeite an einem API-REST mit
Typoskript und ich verwenden nodemon, um meinen Server bei jeder Änderung neu zu laden. Es klappt
Perfekt auf Unix-Systemen, aber andere Mitarbeiter haben Windows und es
funktioniert nicht Hast du eine Idee, was los ist?

Vielen Dank.

- -
Sie erhalten dies, weil Sie erwähnt wurden.
Antworte direkt auf diese E-Mail und sieh sie dir auf GitHub an
https://github.com/remy/nodemon/issues/252#issuecomment -261658459 oder stumm schalten
der Faden
https://github.com/notifications/unsubscribe-auth/AAA1hK1SUmJVf-J4wZTgVLBEz1cc_Yz5ks5q_iYEgaJpZM4BXgow
.

Ich hatte ein ähnliches Problem. Ich verwende Windows 10 und nodemon würde meinen Webdienst nicht neu starten, wenn ich Änderungen am Code vorgenommen habe. Aus irgendeinem Grund wurde der Knoten in C: \ Programme (x86) installiert. Wann immer ich versuchte, ein Update durchzuführen, beschwerte ich mich, dass ich Administratorrechte benötigte. Ich habe schließlich gerade das Verzeichnis nodejs in das Stammverzeichnis meines Laufwerks c; \ verschoben. Alles funktioniert jetzt einwandfrei, egal ob mit CMD-Leitung oder PowerShell

Gleicher Fehler. Linux Mint 18, 64 Bit. Ich habe versucht, einen Tiddlywiki-Server zu betreiben. Hier ist der Nodemon-Dump

[nodemon]

1.11.0
[nodemon] Geben Sie rs , um jederzeit neu zu starten

[nodemon] gucken : .

Knoten: v6.9.1
nodemon: 1.11.0
Befehl: /home/who/.nvm/versions/node/v6.9.1/bin/node /home/who/.nvm/versions/node/v6.9.1/bin/nodemon --dump
cwd: / home / who / yaah / Ildy

Betriebssystem: Linux x64

{run: false,
System: {cwd: '/ home / who / yaah / Ildy'},
erforderlich: falsch,
dirs: ['/ home / who / yaah / Ildy'],
Zeitüberschreitung: 1000,
Optionen:
{dump: true,
ignorieren:
['.git',
'.nyc_output',
'.sass-cache',
'bower_components',
'Berichterstattung',
'node_modules',
re: /.git|.nyc_output|.sass-cache|bower_components|coverage|node_modules/],
Uhr: [' . ', re: /. .. /],
ignoreRoot:
['.git',
'.nyc_output',
'.sass-cache',
'bower_components',
'Berichterstattung',
'node_modules'],
neu startbar: 'rs',
Farben: wahr,
execMap: {py: 'python', rb: 'ruby'},
stdin: wahr,
runOnChangeOnly: false,
ausführlich: falsch,
stdout: wahr,
execOptions:
{script: null,
exec: 'node',
Argumente: [],
scriptPosition: null,
nodeArgs: undefined,
ext: 'js, json',
env: {},
execArgs: []},
Monitor:
[' . ',
'! .git',
'! .nyc_output',
'! .sass-cache',
'! bower_components',
'! Berichterstattung',
'! node_modules']},
Signal: 'SIGUSR2',
Laden: [Funktion],
Zurücksetzen: [Funktion: Zurücksetzen],
lastStarted: 0,
geladen: [],
watchInterval: null,

Befehl: {raw: {ausführbare Datei: 'Knoten', Argumente: []}, Zeichenfolge: 'Knoten'}}

Zur Information; Ich hatte heute das gleiche Problem mit Nodemon 1.11.0 und Node v7.10.0. Es wurde behoben, indem ein Ordner .build in meinem Stammverzeichnis entfernt wurde. Das Verzeichnis .build enthielt eine babel-transpilierte Version meines Quellcodebaums. Einmal entfernt, funktionierte alles wieder einwandfrei.

Hatte das gleiche Problem, aber ich denke, was es verursacht hat, hatte der übergeordnete Skriptordner ein . (Punkt) Präfix.
Ich habe nicht näher darauf eingegangen, warum nodemon nicht neu gestartet wird, wenn der übergeordnete Ordner ein . im Ordnernamen enthält.
Ich habe das Präfix . und alles hat wieder funktioniert.

Die Verwendung von -L (Legacy-Option) hat bei mir im Vagabund funktioniert
Ohne das geht es nicht

@iemadk Danke dafür, es hat mich verrückt gemacht!

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen