O comando nodemon não é reconhecido no terminal para o servidor node js

89

Estou fazendo a configuração do servidor node.js em https://scotch.io/tutorials/authenticate-a-node-js-api-with-json-web-tokens . Sou novo em node.js. Estou instalando npm install nodemon --save. Mas quando estou rodando o servidor com isso nodemon server.js.
No terminal mostrando:

nodemon não é reconhecido como comando interno ou externo, programa operável ou arquivo em lote

insira a descrição da imagem aqui

node server.jsO comando está funcionando e iniciou o servidor, mas o nodemoncomando não está funcionando.

Estou configurando o servidor node js do vídeo https://scotch.io/tutorials/authenticate-a-node-js-api-with-json-web-tokens .

Não sei porque não está funcionando. Tentei alguns comandos para instalar o nodemon.

npm install -g nodemon 
npm install -g nodemon --save 
npm install --save-dev nodemon 
npm install -g nodemon@debug 

npm install -g --force nodemon

Eu vi um link que não consigo instalar globalmente, "nodemon" não reconhecido , mas não sei como definir o caminho por causa da localização do meu projeto na unidade D.

Eu quero correr nodemon server.js. Se alguém tiver uma ideia, por favor, compartilhe. Desde já, obrigado.

Martin
fonte

Respostas:

222

Você precisa instalá-lo globalmente

npm install -g nodemon
# or if using yarn
yarn global add nodemon

E então estará disponível no caminho (vejo agora que você tentou isso e não funcionou, seu caminho pode estar confuso)

Se desejar usar a versão instalada localmente, em vez de instalar globalmente, você pode criar um script em seu package.json

"scripts": {
    "serve": "nodemon server.js"
  },

e então usar

npm run serve

opcionalmente, se estiver usando fio

# without adding serve in package.json
yarn run nodemon server.js
# with serve script in package.json
yarn run serve

O npm irá então procurar na sua pasta node_modules local antes de procurar o comando nos seus módulos globais

ndonohoe
fonte
O que não está funcionando? O script usando instalação local?
ndonohoe 01 de
Yaa. Eu instalei o nodemon. Coloquei o script no arquivo package.json. E depois de executar o npm, execute o serviço. Afinal, execute o nodemon server.js, mas não está funcionando.
Martin
package.json: {"scripts": {"serve": "nodemon server.js"}, "name": "node-site", "version": "1.0.0", "description": "", " main ":" server.js "," scripts ": {" test ":" echo \ "Erro: nenhum teste especificado \" && exit 1 "}," autor ":" "," licença ":" ISC ", "dependencies": {"express": "^ 4.14.0", "nodemon": "^ 1.11.0"}, "devDependencies": {"gulp-nodemon": "^ 2.2.1", "nodemon": "^ 1.11.0"}}
Martin
Você pode esclarecer "não está funcionando"? Existe um erro? Não acontece nada?
ndonohoe 01 de
Pode ser porque você tem dois conjuntos de scripts lá, você deve ter todos os scripts em um objeto de scripts
ndonohoe 01 de
32
  1. Instale o nodemon globalmente:

    C:\>npm install -g nodemon
    
  2. Obtenha o prefixo:

    C:\>npm config get prefix
    

    Você receberá uma saída como a seguinte em seu console:

    C:\Users\Family\.node_modules_global
    

    Copie.

  3. Definir caminho.
    Vá para Configurações avançadas do sistema → Variável de ambiente → Clique em Novo (em Variáveis ​​do usuário) → O formulário pop-up será exibido → Passe os seguintes valores:

    variable name = path,
    variable value = Copy output from your console
    
  4. Agora execute o Nodemon:

    C:\>nodemon .
    
Raj Kumar
fonte
Isso funciona!! Era isso que eu procurava. Obrigado
yashjain12yj
isso funcionou para mim. Na verdade eu tenho windows e precisava corrigir as variáveis ​​de ambiente. Obrigado :)
Laveena
21

Primeiro, escreva npm install --save nodemon e depois em package.json escreva o seguinte

"scripts": {
    "server": "nodemon server.js"
  },

então escreva

npm run server
Alok Prusty
fonte
Isso funcionou! Muito obrigado. Apenas uma consulta, o nodemon nos impede de reiniciar o arquivo do servidor, mas ainda temos que atualizar o navegador. O navegador pode ser atualizado por conta própria, como no angular?
Rahul Sharma
8

Eu estava enfrentando o mesmo problema. Eu tinha instalado o nodemon como uma dependência dev e quando tentei iniciar o servidor ele deu a mensagem que

nodemon não é reconhecido como comando interno ou externo, programa operável ou arquivo em lote

Então instalei globalmente e tentei iniciar o servidor e funcionou!

npm install -g nodemon
Adityaekawade
fonte
6

Ele precisa ser instalado globalmente? Você precisa ser capaz de apenas correr nodemon server.js? Caso contrário, você sempre pode chamá-lo de seu diretório de projeto local. Deveria ser aqui:

node_modules/.bin/nodemon
Larry Turtis
fonte
Isso é útil para mim executar minha api nodejs a partir de um script de shell. Muito obrigado!
Nam G VU
4

Como o prefixo do nó não está na variável PATH ENV, nenhum dos módulos instalados globalmente está sendo reconhecido. Por favor, tente isso. Abra o prompt cmd npm config get prefix anexa o caminho resultante à variável env PATH. Agora você deve ser capaz de executar o nodemon de qualquer local. tente este link e siga-o.fixing npm permissions https://docs.npmjs.com/getting-started/fixing-npm-permissions#option-2-change-npms-default-directory-to-another-directory

Vighanesh Mandavkar
fonte
No seu link estão as instruções para linux, você tem algo para windows?
Jose Rojas
4

Esta linha resolveu meu problema no CMD:

npm install --save-dev nodemon
Bakos Bence
fonte
3
A instalação global do nodemon não funcionou para mim, mas este sim :)
codemirror
4

Isso pode chegar tarde, mas é melhor dizer algo :)

Se você não quiser instalar o nodemon globbaly que você pode usar npx, ele instala o pacote em tempo de execução e se comportará como um pacote global (lembre-se de que está disponível apenas no momento e não existe globalmente!).

Então, tudo que você precisa é npx nodemon server.js.

Yaron Miro
fonte
3

Para usar o nodemon, você deve instalá-lo globalmente.

Para Windows

npm i -g nodemon

Para Mac

sudo npm i -g nodemon

Se você não deseja instalá-lo globalmente, pode instalá-lo localmente na pasta do projeto executando o comando npm i nodemon . Ele dará um erro parecido com este se executado localmente:

nodemon: O termo 'nodemon' não é reconhecido como o nome de um
cmdlet, função, arquivo de script ou programa operável. Verifique a ortografia
do nome, ou se um caminho foi incluído, verifique se o caminho é
corrija e tente novamente.

Para remover este erro, abra o package.json arquivo e adicione

"scripts": {
     "server": "nodemon server.js"
 },

e depois disso apenas execute o comando

servidor npm run

e seu nodemon começará a funcionar corretamente.

Amit Kumar
fonte
1
Errado. Seu script deve dizer {"server": "nodemon server.js"}
joedotnot
3

Não há necessidade de instalar o nodemon globalmente. Basta executar este nodemon npx <scriptname.js> . É isso aí.

pritam ghosh
fonte
1

Acabei de ter o mesmo problema depois de criar um novo perfil de usuário na minha máquina de desenvolvimento.

O problema era que eu não estava executando o console (prompt de comando \ powershell ISE) como administrador.

Executar como administrador resolveu esse problema para mim.

Jim Jimson
fonte
1

Tentei instalar o nodemon globalmente, mas não funcionou para mim. sempre que tento executá-lo, sempre me mostra o erro:

nodemon : The term 'nodemon' is not recognized as the name of a
cmdlet, function, script file, or operable program. Check the spelling
of the name, or if a path was included, verify that the path is
correct and try again.

2. Encontrei duas soluções para isso

solução 1:

O que tentei foi atualizar os "scripts" no arquivo package.json e aí adicionei

"server": "nodemon app.js"

acima da linha de código e depois disso

npm run server

Solução 2:

  1. Pressione a tecla Windows.

  2. Digite "Caminho" na caixa de pesquisa e selecione "Editar as variáveis ​​de ambiente do sistema"

  3. Clique em "Variáveis ​​de ambiente" na parte inferior.

  4. Na seção "Variáveis ​​do sistema", clique duas vezes na variável "Caminho".

  5. Clique em "Novo" no lado direito.

  6. Copie e cole na caixa (substitua [Nome de usuário]):

C: \ Usuários [nome de usuário] \ AppData \ Roaming \ npm

  1. reinicie seu terminal e VSCode.

  2. Em seguida, digite nodemon app.jspara executar o nodemon

apliquei a solução 2, pois só precisamos executar o nodemon [nome do arquivo.js]

Shubham Kumar
fonte
0

Você pode executar seu aplicativo de nó simplesmente digitando nodemon It First run index.js. Você pode colocar seu ponto de entrada nesse arquivo facilmente.

Se você não instalou o nodemon, primeiro você deve instalá-lo

npm install -g nodemon

Se você obteve algum erro de permissão, use

sudo npm install -g nodemon

Você pode verificar se o nodemon existe ou não por

nodemon -v
Shraddha Goel
fonte
0

Execute este comando:

npm install nodemon -g

Agora ele irá instalar o nodemon, mas o problema com o meu caso é que ele está instalando o nodemon em outro lugar. Eu adicionei o caminho do Nodejs de (ProgramFiles (x86)) mas não funcionou, então encontrei outra solução.

  • Executar comando acima
  • Haverá um caminho mostrado durante a instalação onde o nodemon está instalado, então [Vá para o link abaixo para ver o caminho] [1]

    [1]: https://i.stack.imgur.com/ld2sU.png

  • Copie o caminho até npm e defina-o como variável de ambiente
  • Agora tente o comando abaixo, espero que ele execute

      nodemon YourAppName.js
Junaid
fonte
0

Todas as opções acima falharam, eu tenho a solução permanente para isso. Adicione a linha abaixo em package.json em dependências e run npm install. Isso irá adicionar o pacote nodemon ao node_modules e pronto , aproveite a codificação.

"nodemon": "^1.17.*"
Amol Kamble
fonte
3
Bem-vindo ao Stack Overflow. Ao responder uma pergunta mais antiga com respostas existentes, é útil explicar quais novas informações sua resposta traz. Esta resposta não parece estar mostrando uma instalação global, faz referência a uma versão específica (por isso não vai envelhecer bem) e não responde à pergunta que foi feita por não mostrar como habilitar o comando.
Jason Aller
0

Basta instalar globalmente

 npm install -g  nodemon

Funcionou para mim no Windows 10.

nodemon app.js
Prathamesh More
fonte
0

A política de execução padrão do cmdlet Set-ExecutionPolicy é Restrita para Windows. Você pode tentar instalar o nodemon definindo esta política como Irrestrito.

execute o comando: Set-ExecutionPolicy Unrestricted e tente instalar o nodemon e execute o comando:nodemon -v

Mayur
fonte
0

Eu consertei desta forma

  1. desinstalar nodemon local existente

    npm desinstalar nodemon

  2. instale-o novamente globalmente.

    npm i -g nodemon

Saad Abbasi
fonte
-2

Remova o nodemon porque é uma dependência dev e use o node em vez dele.

"scripts": {
     "start": "node server.js"
 },

Isso funcionou para mim.

Atharv Upadhyay
fonte
Não responde à pergunta. node e nodemon têm finalidades diferentes.
joedotnot de
é coisa diferente. Para nodemon, deve ser "servidor": "nodemon app.js"
Shubham Kumar,