5
respostas

nodemon não roda no Windows

Olá, Na aula 2 do curso Node.js e HTTP ensina como instalar o pacote Nodemon para não ter que ficar recarrecando a cada alteração. O processo de instalação foi executado sem erros, porém, ao executar no terminal o comando nodemon index.js

Acusa o erro abaixo:

'nodemon' não é reconhecido como um comando interno ou externo, um programa operável ou um arquivo em lotes.

Obs: Adicionei c:\windows\system32 como path nas configurações de variável de ambiente.

Podem me ajudar com isso?

Marcos

5 respostas

Oi Marcos, mas você não precisava colocar o c:\windows\system32 no PATH, aliás, acho que por padrão ele já está.

Você instalou o nodemon usando o -g ? Você tentou fechar e abrir novamente o terminal do Windows?

Olá,

Utilizo o PHPStorm e o seu Terminal, com o seguinte comando de instalação:

npm install -g nodemon

Resultado obtido:

+ nodemon@1.18.3 updated 1 package in 45.559s

Tentando executar com comando: D:\Desenvolvimento\Node\payfast>nodemon index.js

Resultado obtido: 'nodemon' não é reconhecido como um comando interno ou externo, um programa operável ou um arquivo em lotes.

Se faço pelo prompt de comando, entrando na pasta do payfast e digitando nodemon index.js dá o mesmo resultado.

Se executo node index.js carrega normalmente.

Não consegui evoluir nessa questão. Mais alguma sugestão?

Marcos

No Windows é um pouco chato por que sempre precisamos configurar o PATH de algumas coisas para funcionar. Não gosto muito dessa prática, então, minha sugestão é você fazer o seguinte.

Instala o nodemon no seu projeto local com npm install --save-dev nodemon.

No seu package.json, você pode criar uma nova entrada na parte de scripts da seguinte forma:

"dev:start": "nodemon index.js",

E pra executar seu projeto, você usa o npm run dev:start.

Se dessa forma não funcionar, você vai precisar especificar o caminho completo pro executável do nodemon que está dentro da pasta node_modules. deve algo parecido com :

node_modules/nodemon/bin/nodemon

Ai seu comando no script vai se tornar algo como:

"dev:start": "./node_modules/nodemon/bin/nodemon index.js",

Olá, Fiz conforme sugerido. Em nenhum dos casos obtive sucesso. Não sei se entendi bem o que foi descrito, mas fiz o seguinte: 1) No arquivo package.json adicionei as seguintes linhas(estão comentadas porque não deu certo):

{
  "name": "payfast",
  "version": "1.0.0",
  "description": "um gateway para pagamentos através de recursos HTTP",
  "main": "index.js",
  //"dev:start": "nodemon index.js",
  //"dev:start": "./node_modules/nodemon/bin/nodemon index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },

Para ambos os casos o resultado é a seguinte mensagem:

D:\Desenvolvimento\Node\payfast>npm run dev:start
npm ERR! file D:\Desenvolvimento\Node\payfast\package.json
npm ERR! code EJSONPARSE
npm ERR! Failed to parse json
npm ERR! Unexpected token / in JSON at position 176 while parsing near '...odemon index.js",
npm ERR!   //"dev:start": "./no...'
npm ERR! File: D:\Desenvolvimento\Node\payfast\package.json
npm ERR! Failed to parse package.json data.
npm ERR! package.json must be actual JSON, not just JavaScript.
npm ERR!
npm ERR! Tell the package author to fix their package.json file. JSON.parse

npm ERR! A complete log of this run can be found in:
npm ERR!     C:\Users\Marcos\AppData\Roaming\npm-cache\_logs\2018-07-24T23_21_08_589Z-debug.log

Se tiver mais alguma sugestão, agradeço,

Marcos

Marcos, não dá pra comentar trechos no json. O erro tá reclamando dessas barras que você colocou no meio do json. Lembre-se, json é um arquivo de texto, não é um código que permite comentários, etc.

Qualquer coisa fora do padrão json, vai dar erro na leitura do arquivo.

Faz o seguinte, você consegue me disponibilizar seu projeto no GitHub ou similar pra mim testar aqui?