Nodemon: O Nodemon não reinicia o servidor nas mudanças de arquivos

Criado em 5 jan. 2014  ·  32Comentários  ·  Fonte: remy/nodemon

Atualizado para v1.0.1 e depois para v1.0.4 e não consigo reiniciar o servidor com as alterações de arquivo.

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

Estou alterando e salvando server.js e outros arquivos js em subpastas e nada acontece (o servidor não foi reiniciado, testado com a saída de página real também).

bug windows

Comentários muito úteis

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

Todos 32 comentários

Confirmado.

Porcaria. Nele.

Consegui uma correção, apenas executando testes em todas as plataformas (o que espero que funcione bem!)

Fixo e em npm em [email protected]

Atualizado para v1.0.5, mas ainda não funciona:

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

Nota: Minha linha de comando é:

nodemon -V server.js

E o arquivo está localizado na pasta em que este comando foi inserido.

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

Ok, então posso ver pela sua configuração que watchWorks: false - quando deveria ser verdade ... é isso que está causando o problema.

Qual sistema operacional Windows você está usando? (Eu testei no XP ... provavelmente um pouco baixo!) E qual versão do nó (testei v0.10.23).

Você também poderia tentar isso e me enviar a saída:

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

Não com o nodemon, apenas rodando como "node script.js".

Oi,

Eu também enfrento esse problema. Eu uso o Windows 8.1 (x64), Node 0.10.24.

A saída desse comando para mim é a seguinte:

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

Se eu abrir o arquivo gerado e adicionar algo a ele, recebo as mesmas mensagens novamente.

Obrigado!

Você também pode incluir a saída de nodemon --dump para que eu possa verificar o seu
config.

No domingo, 5 de janeiro de 2014, gaborpro escreveu:

Oi,

Eu também enfrento esse problema. Eu uso o Windows 8.1 (x64), Node 0.10.24.

A saída desse comando para mim é a seguinte:

node test.js
assistindo test5aa09b09f6618bf5fd3c3d53fba9bd1f
fs.watch trabalhou test5aa09b09f6618bf5fd3c3d53fba9bd1f
fs.watch trabalhou test5aa09b09f6618bf5fd3c3d53fba9bd1f
watchFile funcionou

Se eu abrir o arquivo gerado e adicionar algo a ele, recebo o mesmo
mensagens novamente.

Obrigado!

-
Responda a este e-mail diretamente ou visualize-o no Gi tHubhttps: //github.com/remy/nodemon/issues/252#issuecomment -31619873
.

- Remy

Estou trabalhando agora, infelizmente não tenho acesso à minha máquina doméstica. À noite eu posso verificar.

Se ajudar, uso o arquivo de configuração padrão que vem com o npm.

@remy lol, o gif era engraçado! :-)

Estou em Win 8 x64 , tentei com o nó v0.10.22 e atualizado para v0.10.24 também (aliás, a versão do nó está na saída --dump ).

Esta é a saída do seu script:

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

Saída --dump com o nó 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 isso é ótimo - elogios pelos detalhes (e sim, esqueci que a versão do nó estava no lixo!).

É estranho porque o teste simples funcionou para você (para verificar o suporte do relógio), mas a configuração do system.watchWorks config é falsa.

Você poderia se juntar a mim no canal #nodemon irc em freenode.net? Eu gostaria de experimentar alguns scripts para tentar testar e corrigir o que está acontecendo.

Acabei de iniciar minha VM do Windows 8, e isso quer dizer que também tem system.watchWorks = true - então isso é estranho.

(e agora acabei de reviver meu laptop Windows, e _even_ isso está se mostrando verdadeiro para watchWorks, mas claramente não está voando para alguns de vocês, então eu gostaria de resolver isso para vocês!).

Eu tenho o mesmo problema, ficarei feliz em ajudar se você precisar tentar algo

Solte em breve.

Corrigido confirmado usando este script: https://gist.github.com/remy/8283715

Confirmado com 1.0.6 .
Obrigado!

Só uma pergunta, fazendo Git puxar essas linhas com -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

Eles não disparam uma reinicialização, mas estou me perguntando por que estão sendo executados se .git faz parte da lista de ignorados.

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

A mesma coisa para html arquivos que estão diretamente localizados em uma pasta ignorada (por exemplo, app\index.html ), embora não em níveis mais profundos.

E outro rápido, posso dizer ao Nodemon para monitorar apenas 1 ou mais arquivos (por exemplo, server.js ) no diretório que está sendo executado?
Portanto, não terei que ignorar todas as pastas nesse diretório raiz ou colocar server.js em um subdiretório?

Se o .git estiver listado na verificação do gatilho - você está certo, ele deve ser totalmente ignorado com base no que você conseguiu ignorar. De alguma forma, está passando pela verificação (vou testar novamente esta semana e ver se há algo que posso fazer para suprimi-la

Se você quiser que ele reinicie apenas em um único arquivo ( server.js acho que é isso que você está dizendo), basta colocá-lo no relógio:

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

Agora o nodemon só irá reiniciar se server.js mudar.

Ótimo, funcionou.
Então, novamente, todos os outros arquivos salvos acionam aquelas change check linhas, embora deva escutar apenas um arquivo.

Olhando para watch.js , suponho que a função ignoredFilter deva ser chamada antes de chamar filterAndRestart , que é onde essas linhas estão sendo geradas.

Obrigado!

@remy Btw, qual foi a diferença entre sua VM Win 8 e nossas configurações?

Ou seja, por que funcionou para você em seus testes, mas não funcionou para nós?

Eu realmente não sei qual é a diferença na configuração (talvez porque o
sistema de arquivos na minha VM está instalado em um Mac OS e o sistema de arquivos é de alguma forma
diferente, não sei), mas o que vejo do --dump é que o
config.system.watchWorks é falso, enquanto o meu era verdadeiro.

Mas quando eu testei esta noite, watchWorks estava saindo como falso, o que é
por que fui capaz de testar esta correção totalmente porque fui capaz de replicar o
emitir corretamente.

Em 7 de janeiro de 2014, às 22:18, Alex Ilyaev [email protected] escreveu:

@remy https://github.com/remy Btw, qual era a diferença entre
você é Win 8 VM e nossas configurações?

Ou seja, por que funcionou para você em seus testes, mas não funcionou para nós?

-
Responda a este e-mail diretamente ou visualize-o no Gi tHubhttps: //github.com/remy/nodemon/issues/252#issuecomment -31786025
.

Olá @remy , estou trabalhando em uma API REST com typescript e uso o nodemon para recarregar meu servidor a cada mudança. Funciona perfeitamente em sistemas unix, mas outros colaboradores têm janelas e não funciona. Você tem alguma ideia do que está acontecendo?

Obrigado.

Não com as informações que você ofereceu. Talvez consiga-os usando as janelas
plataforma bash.

Na sexta-feira, 18 de novembro de 2016, 22:26 raansilrey, [email protected] escreveu:

Olá @remy https://github.com/remy , estou trabalhando em uma API REST com
typescript e eu uso o nodemon para recarregar meu servidor a cada mudança. Funciona
perfeitamente em sistemas unix, mas outros colaboradores têm janelas e
não funciona. Você tem alguma ideia do que está acontecendo?

Obrigado.

-
Você está recebendo isso porque foi mencionado.
Responda a este e-mail diretamente, visualize-o no GitHub
https://github.com/remy/nodemon/issues/252#issuecomment -261658459 ou mudo
o segmento
https://github.com/notifications/unsubscribe-auth/AAA1hK1SUmJVf-J4wZTgVLBEz1cc_Yz5ks5q_iYEgaJpZM4BXgow
.

Eu tive um problema parecido. Estou executando o Windows 10 e o nodemon não reiniciou meu serviço da web quando fiz alterações no código. Por alguma razão, o nó foi instalado em C: \ Arquivos de programas (x86). Sempre que tentava fazer uma atualização, ele reclamava que precisava de privilégios administrativos. Finalmente movi o diretório nodejs para a raiz da minha unidade c; \. Tudo funciona bem agora, seja usando a linha CMD ou PowerShell

O mesmo problema. Linux Mint 18, 64 bits. Estava tentando executar um servidor tiddlywiki. Aqui está o despejo do Nodemon

[nodemon]

1.11.0
[nodemon] para reiniciar a qualquer momento, digite rs

[nodemon] observação:.

nó: v6.9.1
nodemon: 1.11.0
comando: /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

SO: linux x64

{run: false,
sistema: {cwd: '/ home / who / yaah / Ildy'},
obrigatório: falso,
dirs: ['/ home / who / yaah / Ildy'],
tempo limite: 1000,
opções:
{dump: true,
ignorar:
['.git',
'.nyc_output',
'.sass-cache',
'bower_components',
'cobertura',
'node_modules',
re: /.git|.nyc_output|.sass-cache|bower_components|coverage|node_modules/],
assistir: [' . ', re: /. .. /],
ignoreRoot:
['.git',
'.nyc_output',
'.sass-cache',
'bower_components',
'cobertura',
'node_modules'],
reiniciável: 'rs',
cores: verdade,
execMap: {py: 'python', rb: 'ruby'},
stdin: verdadeiro,
runOnChangeOnly: false,
verbose: false,
stdout: true,
execOpções:
{script: nulo,
exec: 'nó',
args: [],
scriptPosition: null,
nodeArgs: undefined,
ext: 'js, json',
env: {},
execArgs: []},
monitor:
[' . ',
'! .git',
'! .nyc_output',
'! .sass-cache',
'! bower_components',
'!cobertura',
'! node_modules']},
sinal: 'SIGUSR2',
carregar: [Função],
reset: [Função: reset],
lastStarted: 0,
carregado: [],
watchInterval: null,

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

Para informações; Tive o mesmo problema hoje com o nodemon 1.11.0 e o Node v7.10.0. Corrigido removendo uma pasta .build no meu diretório raiz. O diretório .build continha uma versão babel-transpilada da minha árvore de código-fonte. Uma vez removido, tudo estava funcionando bem novamente.

Tive o mesmo problema, mas acho que a causa foi que a pasta pai do script tinha um prefixo . (ponto).
Não investiguei mais a fundo porque o nodemon não reinicia quando a pasta pai tinha . no nome da pasta.
Removi o prefixo . e tudo funcionou novamente.

Usar o -L (opção legada) funcionou para mim no vagrant
Sem ele não funciona

@iemadk Obrigado por isso, estava me deixando louco!

Esta página foi útil?
0 / 5 - 0 avaliações