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.

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


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 .
    

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

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

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

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


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

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.

  • npxpode ser usado fora da caixa da npm@5.2.0versão e superior.

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.


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í.


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.


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]


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

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

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.*"

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

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


0

Eu consertei desta forma

  1. desinstalar nodemon local existente

    npm desinstalar nodemon

  2. instale-o novamente globalmente.

    npm i -g nodemon


-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.


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,
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.