Nodemon: Nodemon ne redémarre pas le serveur lors des changements de fichiers

Créé le 5 janv. 2014  ·  32Commentaires  ·  Source: remy/nodemon

Mis à jour vers la v1.0.1 puis vers la v1.0.4 et je ne peux pas redémarrer le serveur en cas de modifications de fichiers.

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

Je change et enregistre server.js et d'autres fichiers js dans des sous-dossiers et rien ne se passe (le serveur n'est pas redémarré, testé également avec la sortie de page réelle).

bug windows

Commentaire le plus utile

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

Tous les 32 commentaires

Confirmé.

Merde. Dessus.

Vous avez un correctif en cours, il suffit d'exécuter des tests sur toutes les plates-formes (ce qui, espérons-le, conviendra!)

Corrigé et dans npm sous [email protected]

Mis à jour vers la v1.0.5, mais cela ne fonctionne toujours pas:

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

Remarque: ma ligne de commande est:

nodemon -V server.js

Et le fichier se trouve dans le dossier dans lequel cette commande est entrée.

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

D'accord, donc je peux voir à partir de votre configuration que le watchWorks: false - quand cela devrait être vrai ... c'est ce qui cause ce problème.

Sur quel système d'exploitation Windows êtes-vous? (J'ai testé sur XP ... sans doute un peu bas!) Et quelle version de node (j'ai testé v0.10.23).

Pourriez-vous également essayer ceci et m'envoyer la sortie:

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);

Pas avec nodemon, juste en tant que "node script.js".

Salut,

Je suis également confronté à ce problème. J'utilise Windows 8.1 (x64), Node 0.10.24.

Le résultat de cette commande pour moi est le suivant:

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

Si j'ouvre le fichier généré et y ajoute quelque chose, je reçois à nouveau les mêmes messages.

Merci!

Pouvez-vous également inclure la sortie de nodemon --dump pour que je puisse vérifier votre
config.

Le dimanche 5 janvier 2014, gaborpro a écrit:

Salut,

Je suis également confronté à ce problème. J'utilise Windows 8.1 (x64), Node 0.10.24.

Le résultat de cette commande pour moi est le suivant:

noeud test.js
regarder test5aa09b09f6618bf5fd3c3d53fba9bd1f
fs.watch a fonctionné test5aa09b09f6618bf5fd3c3d53fba9bd1f
fs.watch a fonctionné test5aa09b09f6618bf5fd3c3d53fba9bd1f
watchFile a travaillé

Si j'ouvre le fichier généré et y ajoute quelque chose, alors j'obtiens le même
messages à nouveau.

Merci!

-
Répondez directement à cet e-mail ou consultez-le sur Gi tHubhttps: //github.com/remy/nodemon/issues/252#issuecomment -31619873
.

- Remy

Je travaille maintenant, malheureusement je n'ai pas accès à mon ordinateur personnel. Le soir, je peux le vérifier.

Si cela aide, j'utilise le fichier de configuration par défaut fourni avec npm.

@remy lol, le gif était drôle! :-)

Je suis sur Win 8 x64 , essayé avec Node v0.10.22 et mis à jour à v0.10.24 également (btw la version du nœud est dans la sortie --dump ).

Voici la sortie de votre script:

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

--dump sortie avec Node 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 c'est super - bravo pour le détail (et oui, j'ai oublié que la version du nœud était dans la décharge!).

C'est bizarre parce que le simple test a fonctionné pour vous (pour vérifier le support de la montre), mais le paramètre de configuration system.watchWorks est faux.

Pourriez-vous me rejoindre sur le canal #nodemon irc sur freenode.net? J'aimerais essayer quelques scripts pour essayer de tester et corriger ce qui se passe.

Je viens de lancer ma machine virtuelle Windows 8, et cela veut dire qu'elle a aussi system.watchWorks = true - donc c'est bizarre.

(et maintenant je viens de relancer mon ordinateur portable Windows, et _even_ cela se révèle vrai pour watchWorks, mais il ne vole clairement pas pour quelques-uns d'entre vous, alors j'aimerais le trier pour vous!).

J'ai le même problème, je serai heureux de vous aider si vous avez besoin d'essayer quelque chose

Relâchez sous peu.

Correction confirmée à l'aide de ce script: https://gist.github.com/remy/8283715

Confirmé avec 1.0.6 .
Merci!

Juste une question, faire Git pull déclenche ces lignes avec -V cmd.

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

Ils ne déclenchent pas de redémarrage, mais je me demande pourquoi ils sont exécutés si .git fait partie de la liste des ignorés?

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

Même chose pour les fichiers html qui sont directement situés sous un dossier ignoré (par exemple app\index.html ), mais pas à des niveaux plus profonds.

Et un autre rapide, puis-je dire à Nodemon de surveiller seulement 1 ou plusieurs fichiers (par exemple server.js ) dans le répertoire où il est exécuté?
Donc je n'aurai pas à ignorer tous les dossiers de ce répertoire racine ou à mettre server.js dans un sous-répertoire?

Si .git est répertorié dans la vérification du déclencheur - vous avez raison, il devrait être complètement ignoré en fonction de ce que vous avez dans votre ignorer. C'est en quelque sorte passer le contrôle (je vais tester à nouveau cette semaine et voir s'il y a quelque chose que je peux faire pour le supprimer.

Si vous voulez qu'il ne redémarre que sur un seul fichier ( server.js je pense que c'est ce que vous dites), mettez-le simplement dans la montre:

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

Désormais, nodemon ne redémarrera que si server.js change.

Super, cela a fonctionné.
Là encore, tous les autres fichiers sauvegardés déclenchent ces lignes change check , même s'il ne doit écouter qu'un seul fichier.

En regardant watch.js , je suppose que la fonction ignoredFilter devrait être appelée avant d'appeler filterAndRestart , qui est l'endroit où ces lignes sont sorties.

Je vous remercie!

@remy Btw, quelle était la différence entre votre VM Win 8 et nos configurations?

Cela signifie, pourquoi cela a-t-il fonctionné pour vous dans vos tests mais n'a pas fonctionné pour nous?

Je ne sais pas vraiment quelle est la différence dans la configuration (peut-être parce que le
le système de fichiers sur ma machine virtuelle est assis sur un Mac OS et le système de fichiers est en quelque sorte
différent, je ne sais pas), mais ce que je vois de la décharge, c'est que le
config.system.watchWorks est faux, alors que le mien était vrai.

Mais quand j'ai testé ce soir, watchWorks apparaissait comme faux, ce qui est
pourquoi j'ai pu tester complètement ce correctif car j'ai pu répliquer le
problème correctement.

Le 7 janvier 2014 à 22h18, Alex Ilyaev [email protected] a écrit:

@remy https://github.com/remy Btw, quelle était la différence entre
vous êtes Win 8 VM et nos configurations?

Cela signifie, pourquoi cela a-t-il fonctionné pour vous dans vos tests mais n'a pas fonctionné pour nous?

-
Répondez directement à cet e-mail ou consultez-le sur Gi tHubhttps: //github.com/remy/nodemon/issues/252#issuecomment -31786025
.

Salut @remy , je travaille sur une API REST avec dactylographié et j'utilise nodemon pour recharger mon serveur à chaque changement. Cela fonctionne parfaitement sur les systèmes Unix mais d'autres collaborateurs ont des fenêtres et cela ne fonctionne pas. Avez-vous une idée de ce qui se passe?

Je vous remercie.

Pas avec les informations que vous avez proposées. Peut-être les obtenir en utilisant les fenêtres
plateforme bash.

Le vendredi 18 novembre 2016, 22:26 raansilrey, [email protected] a écrit:

Salut @remy https://github.com/remy , je travaille sur une API REST avec
dactylographié et j'utilise nodemon pour recharger mon serveur à chaque changement. Ça marche
parfaitement sur les systèmes unix mais d'autres collaborateurs ont des fenêtres et
ne fonctionne pas. Avez-vous une idée de ce qui se passe?

Je vous remercie.

-
Vous recevez cela parce que vous avez été mentionné.
Répondez directement à cet e-mail, affichez-le sur GitHub
https://github.com/remy/nodemon/issues/252#issuecomment -261658459, ou muet
le fil
https://github.com/notifications/unsubscribe-auth/AAA1hK1SUmJVf-J4wZTgVLBEz1cc_Yz5ks5q_iYEgaJpZM4BXgow
.

J'avais un problème similaire. J'utilise Windows 10 et nodemon ne redémarre pas mon service Web lorsque j'apporte des modifications au code. Pour une raison quelconque, le nœud a été installé dans C: \ Program Files (x86). Chaque fois que j'essayais de faire une mise à jour, je me plaignais d'avoir besoin de privilèges administratifs. J'ai finalement déplacé le répertoire nodejs à la racine de mon lecteur c; \. Tout fonctionne correctement maintenant, que ce soit en utilisant la ligne CMD ou PowerShell

Même problème. Linux Mint 18, 64 bits. J'essayais d'exécuter un serveur tiddlywiki. Voici le dump Nodemon

[nodemon]

1.11.0
[nodemon] pour redémarrer à tout moment, entrez rs

[nodemon] l' observation:.

nœud: v6.9.1
nodemon: 1.11.0
commande: /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

Système d'exploitation: linux x64

{run: false,
système: {cwd: '/ home / who / yaah / Ildy'},
obligatoire: faux,
dirs: ['/ home / who / yaah / Ildy'],
timeout: 1000,
options:
{vidage: vrai,
ignorer:
['.git',
'.nyc_output',
'.sass-cache',
'bower_components',
'couverture',
'node_modules',
re: /.git|.nyc_output|.sass-cache|bower_components|coverage|node_modules/],
regarder: [' . ', re: /. .. /],
ignoreRoot:
['.git',
'.nyc_output',
'.sass-cache',
'bower_components',
'couverture',
'node_modules'],
redémarrable: 'rs',
couleurs: vrai,
execMap: {py: 'python', rb: 'ruby'},
stdin: vrai,
runOnChangeOnly: false,
verbeux: faux,
stdout: vrai,
execOptions:
{script: null,
exec: 'nœud',
args: [],
scriptPosition: null,
nodeArgs: non défini,
ext: 'js, json',
env: {},
execArgs: []},
moniteur:
[' . ',
'! .git',
'! .nyc_output',
'! .sass-cache',
'! bower_components',
'!couverture',
'! node_modules']},
signal: 'SIGUSR2',
charge: [Fonction],
reset: [Fonction: reset],
lastStarted: 0,
chargé: [],
watchInterval: null,

commande: {raw: {executable: 'node', args: []}, string: 'node'}}

Pour info; J'ai eu le même problème aujourd'hui avec nodemon 1.11.0 et Node v7.10.0. Correction du problème en supprimant un dossier .build dans mon répertoire racine. Le répertoire .build contenait une version transpilée par babel de mon arborescence de code source. Une fois supprimé, tout fonctionnait à nouveau correctement.

J'ai eu le même problème, mais je suppose que la cause en était, le dossier parent du script avait un préfixe . (point).
Ne cherchez pas plus loin pourquoi nodemon ne redémarre pas lorsque le dossier parent avait un . dans le nom du dossier.
J'ai supprimé le préfixe . et tout a fonctionné à nouveau.

Utiliser l'option -L (option héritée) a fonctionné pour moi dans vagrant
Sans ça, ça ne marche pas

@iemadk Merci pour ça, ça me rendait fou!

Cette page vous a été utile?
0 / 5 - 0 notes