nodemon komutu, js sunucusu düğümü için terminalde tanınmıyor


89

Https://scotch.io/tutorials/authenticate-a-node-js-api-with-json-web-tokens adresinden node.js sunucu kurulumunu yapıyorum . Node.js'de yeniyim. Ben kuruyorum npm install nodemon --save. Ama sunucuyu bununla çalıştırdığımda nodemon server.js.
Gösteren terminalde:

nodemon dahili veya harici komut, çalıştırılabilir program veya toplu iş dosyası olarak tanınmıyor

görüntü açıklamasını buraya girin

node server.jskomut çalışıyor ve sunucuyu başlattı, ancak nodemonkomut çalışmıyor.

Düğüm js sunucusunu https://scotch.io/tutorials/authenticate-a-node-js-api-with-json-web-tokens adresinden kuruyorum videosundan .

Neden çalışmadığını bilmiyorum, nodemon kurulumu için bazı komutları denedim.

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

npm install -g --force nodemon

Küresel olarak nodemon yükleyemediğim bir bağlantı gördüm, "nodemon" tanınmadı , ancak D sürücüsündeki proje konumum nedeniyle yolu nasıl ayarlayacağımı bilmiyorum.

Ben çalıştırmak istiyorum nodemon server.js. Bir fikriniz varsa lütfen paylaşın. Şimdiden teşekkürler.

Yanıtlar:


222

Global olarak kurmanız gerekiyor

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

Ve sonra yolda mevcut olacak (şimdi bunu denediğinizi ve işe yaramadığını görüyorum, yolunuz karışmış olabilir)

Global olarak kurmak yerine yerel olarak yüklenmiş sürümü kullanmak istiyorsanız, package.json dosyanızda bir komut dosyası oluşturabilirsiniz.

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

ve sonra kullan

npm run serve

isteğe bağlı olarak iplik kullanılıyorsa

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

npm daha sonra genel modüllerinizdeki komutu aramadan önce yerel node_modules klasörünüze bakacaktır.


Ne çalışmıyor? Komut dosyası yerel kurulum mu kullanıyor?
ndonohoe

Yaa. Nodemon yükledim. Betiği package.json dosyasına koydum. Ve çalıştırdıktan sonra npm çalıştır servis. Sonuçta nodemon server.js çalıştırın ama çalışmıyor.
Martin

package.json: {"scripts": {"serve": "nodemon server.js"}, "name": "node-site", "version": "1.0.0", "description": "", " main ":" server.js "," scripts ": {" test ":" echo \ "Hata: test belirtilmedi \" && exit 1 "}," yazar ":" "," lisans ":" ISC ", "bağımlılıklar": {"ekspres": "^ 4.14.0", "nodemon": "^ 1.11.0"}, "devDependencies": {"gulp-nodemon": "^ 2.2.1", "nodemon": "^ 1.11.0"}}
Martin

"Çalışmıyor" u açıklayabilir misin? Bir hata mı var Hiçbir şey olmuyor mu?
ndonohoe

Bunun nedeni, içinde iki komut dosyası
setinizin

32
  1. Küresel olarak nodemon yükleyin:

    C:\>npm install -g nodemon
    
  2. Ön ek alın:

    C:\>npm config get prefix
    

    Konsolunuzda aşağıdaki gibi çıktı alacaksınız:

    C:\Users\Family\.node_modules_global
    

    Kopyala.

  3. Yolu Ayarlayın.
    Gelişmiş Sistem Ayarları → Ortam Değişkeni'ne gidin → Yeni'ye tıklayın (Kullanıcı Değişkenleri altında) → Açılır form görüntülenecektir → Aşağıdaki değerleri iletin:

    variable name = path,
    variable value = Copy output from your console
    
  4. Şimdi Nodemon'u Çalıştır:

    C:\>nodemon .
    

Bu çalışıyor!! Bu aradığım şeydi. Thank you
yashjain12yj

bu benim için çalıştı. Aslında pencerem var ve ortam değişkenlerini düzeltmem gerekiyor. Teşekkürler :)
Laveena

21

Önce npm install --save nodemon yazın, ardından package.json içine aşağıdakileri yazın

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

sonra yaz

npm run server

Bu işe yaradı! Çok teşekkürler. Sadece bir sorgu, nodemon sunucu dosyasını yeniden başlatmamızı engeller, ancak yine de tarayıcıyı yenilememiz gerekir. Tarayıcı, açısal olarak yaptığı gibi kendi kendine yenilenebilir mi?
Rahul Sharma

8

Ben de aynı sorunla karşı karşıyaydım. Nodemon'u dev-bağımlılık olarak kurmuştum ve sunucuyu başlatmaya çalıştığımda,

nodemon dahili veya harici komut, çalıştırılabilir program veya toplu iş dosyası olarak tanınmıyor

Sonra global olarak kurdum ve sunucuyu başlatmaya çalıştım ve işe yaradı!

npm install -g nodemon

6

Global olarak kurulması gerekiyor mu? Sadece koşabilmen gerekiyor nodemon server.jsmu? Değilse, her zaman yerel proje dizininizden çağırabilirsiniz. Burada olmalı:

node_modules/.bin/nodemon

Bu, nodejs api'mi kabuk betiğinden çalıştırmam için yararlı. Çok teşekkürler!
Nam G VU

4

Düğüm öneki PATH ENV değişkeninde olmadığından, genel olarak yüklenmiş modüllerin hiçbiri tanınmıyor. Lütfen bunu deneyin. Açık cmd komut istemi npm config get önek sonuçta oluşan yolu PATH env değişkenine ekler. Artık nodemon'u herhangi bir yerden çalıştırabilmelisiniz. bu bağlantıyı deneyin ve takip edin. npm izinlerini sabitleme https://docs.npmjs.com/getting-started/fixing-npm-permissions#option-2-change-npms-default-directory-to-another-directory


Bağlantınızda linux için talimatlar var, Windows için bir şeyiniz var mı?
Jose Rojas

4

Bu satır CMD'deki sorunumu çözdü:

npm install --save-dev nodemon

3
Global nodemon kurulumu benim için işe yaramadı ama bu işe yaradı :)
codemirror

4

Bu geç gelebilir ama bir şey söylemek daha iyi :)

Nodemon globbaly yüklemek istemiyorsanız kullanabilirsiniz npx , paketi çalışma zamanında yükler ve global paket gibi davranır (şu anda sadece mevcut olduğunu ve global olarak mevcut olmadığını unutmayın!).

Yani tek ihtiyacınız olan şey npx nodemon server.js.

  • npxnpm@5.2.0sürümden itibaren kutunun dışında kullanılabilir .

3

Nodemon'u kullanmak için global olarak yüklemelisiniz.

Pencereler için

npm ben -g nodemon

Mac için

sudo npm i -g nodemon

Global olarak kurmak istemiyorsanız, komutu çalıştırarak proje klasörünüze yerel olarak kurabilirsiniz. npm i nodemon . Yerel olarak çalıştırılırsa şöyle bir hata verecektir:

nodemon: 'nodemon' terimi, bir
cmdlet, işlev, komut dosyası veya çalıştırılabilir program. İmlayi kontrol et
adın veya bir yol dahil edilmişse, yolun
düzeltip tekrar deneyin.

Bu hatayı kaldırmak için package.json dosyayı açın ve ekleyin

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

ve bundan sonra sadece komutu çalıştır

npm çalıştırma sunucusu

ve nodemonunuz düzgün çalışmaya başlayacaktır.


1
Yanlış. Komut dosyanızda {"server": "nodemon server.js"}
yazmalıdır

3

Küresel olarak nodemon yüklemenize gerek yok. Sadece bu npx nodemon <scriptname.js> komutunu çalıştırın . Bu kadar.


1

Geliştirme makinemde yeni bir kullanıcı profili oluşturduktan sonra aynı sorunu yaşadım.

Sorun, konsolu (komut istemi \ powershell ISE) yönetici olarak çalıştırmadığımdı.

Yönetici olarak çalıştırmak benim için bu sorunu çözdü.


1

Nodemon'u global olarak kurmayı denedim ama bu benim için işe yaramadı. Ne zaman çalıştırmayı denesem, bana her zaman hatayı gösteriyor:

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. Bunun için iki çözüm buldum

çözüm 1:

Yapmaya çalıştığım şey , package.json dosyasındaki "betikleri" güncellemektir ve oraya ekledim

"server": "nodemon app.js"

kod satırının üstünde ve bundan sonra

npm run server

Çözüm 2:

  1. Windows tuşuna basın.

  2. Arama kutusuna "Yol" yazın ve "Sistem ortamı değişkenlerini düzenle" yi seçin

  3. Alt taraftaki "Ortam Değişkenleri" ni tıklayın.

  4. "Sistem Değişkenleri" bölümünde "Yol" değişkenine çift tıklayın.

  5. Sağ taraftaki "Yeni" yi tıklayın.

  6. Bunu kopyalayıp kutuya yapıştırın ([Kullanıcı Adı] yerine):

C: \ Kullanıcılar [Kullanıcı Adı] \ AppData \ Dolaşım \ npm

  1. terminalinizi ve VSCode'unuzu yeniden başlatın.

  2. Sonra nodemon app.jsnodemon'u çalıştırmak için yazın

Sadece nodemon [filename.js] çalıştırmamız gerektiği için 2. çözümü uyguladım


0

Düğüm uygulamanızı nodemon It First run index.js yazarak çalıştırabilirsiniz. Giriş noktanızı bu dosyaya kolayca yerleştirebilirsiniz.

Eğer nodemon'u kurmadıysanız, önce onu kurmanız gerekir.

npm install -g nodemon

Herhangi bir izin hatası alırsanız kullanın

sudo npm install -g nodemon

Nodemon'un var olup olmadığını kontrol edebilirsiniz.

nodemon -v

0

Bu komutu çalıştırın:

npm install nodemon -g

Şimdi nodemon'u kuracak ama benim durumumla ilgili sorun, nodemon'un başka bir yere yüklenmesi. (ProgramFiles (x86)) 'dan Nodejs yolunu ekledim ama bu işe yaramadı, bu yüzden başka bir çözüm buldum.

  • Yukarıdaki komutu çalıştır
  • Kurulum sırasında nodemon'un kurulu olduğu bir yol gösterilecektir, ardından [Yolu görmek için lütfen aşağıdaki bağlantıya gidin] [1]

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

  • Yolu npm'ye kadar kopyalayın ve ortam değişkenine ayarlayın
  • Şimdi aşağıdaki komutu deneyin, umarım çalışır

      nodemon YourAppName.js

0

Yukarıdaki tüm seçenekler başarısız oldu, bunun için kalıcı bir çözüm buldum. İçinde sınırının altında ekleyin package.json bağımlılıkları ve altında run npm install. Bu, node_modules'e nodemon paketi ekleyecek ve işte kodlamanın tadını çıkaracaksınız.

"nodemon": "^1.17.*"

3
Stack Overflow'a hoş geldiniz. Eski bir soruyu mevcut cevaplarla cevaplarken, cevabınızın hangi yeni bilgileri getirdiğini açıklamak yararlıdır. Bu yanıt genel bir yüklemeyi gösteriyor gibi görünmüyor, belirli bir sürüme atıfta bulunuyor (bu nedenle iyi yaşlanmayacak) ve sorulan soruyu yanıtlamıyor, çünkü nasıl etkinleştirileceğini göstermiyor. komut.
Jason Aller


0

Set-ExecutionPolicy cmdlet'inin varsayılan yürütme ilkesi Windows için Sınırlandırılmıştır. Bu politikayı Sınırsız olarak ayarlayarak nodemon yüklemeyi deneyebilirsiniz.

komutunu çalıştırın: Set-ExecutionPolicy Unrestricted ve sonra nodemon yüklemeyi deneyin ve komutu çalıştırın:nodemon -v


0

Bu şekilde düzelttim

  1. mevcut yerel nodemonu kaldır

    npm nodemon'u kaldır

  2. global olarak yeniden kurun.

    npm ben -g nodemon


-2

Nodemon'u kaldırın çünkü bu bir dev bağımlılığıdır ve onun yerine node'u kullanın.

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

Bu benim için çalıştı.


Soruya cevap vermiyor. düğüm ve düğümün farklı amaçları vardır.
2019

farklı bir şey. Nodemon için "server": "nodemon app.js" olmalıdır
Shubham Kumar
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.