Polecenie nodemon nie jest rozpoznawane w terminalu dla serwera node js

86

Robię konfigurację serwera node.js z https://scotch.io/tutorials/authenticate-a-node-js-api-with-json-web-tokens . Jestem nowy w node.js. Instaluję npm install nodemon --save. Ale kiedy uruchamiam serwer z tym nodemon server.js.
W terminalu pokazującym:

nodemon nie jest rozpoznawany jako polecenie wewnętrzne lub zewnętrzne, program operacyjny lub plik wsadowy

wprowadź opis obrazu tutaj

node server.jspolecenie działa i uruchomiło serwer, ale nodemonpolecenie nie działa.

Skonfigurowałem serwer węzła js z https://scotch.io/tutorials/authenticate-a-node-js-api-with-json-web-tokens wideo.

Nie wiem, dlaczego to nie działa. Próbowałem użyć polecenia dla programu instalacyjnego.

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

npm install -g --force nodemon

Widziałem jedno łącze, którego nie mogę zainstalować globalnie nodemon, „nodemon” nie został rozpoznany , ale nie wiem, jak ustawić ścieżkę z powodu lokalizacji mojego projektu na dysku D.

Chcę biec nodemon server.js. Jeśli ktoś ma pomysł, podziel się nim. Z góry dziękuję.

Jaskółka oknówka
źródło

Odpowiedzi:

208

Musisz go zainstalować globalnie

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

A potem będzie dostępny na ścieżce (widzę teraz, że próbowałeś tego i nie zadziałało, twoja ścieżka może być pomieszana)

Jeśli chcesz użyć wersji zainstalowanej lokalnie, zamiast instalować ją globalnie, możesz utworzyć skrypt w swoim pliku package.json

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

a następnie użyj

npm run serve

opcjonalnie, jeśli używasz przędzy

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

npm sprawdzi wtedy twój lokalny folder node_modules przed wyszukaniem polecenia w twoich modułach globalnych

ndonohoe
źródło
Co nie działa? Skrypt korzystający z instalacji lokalnej?
ndonohoe
Yaa. Zainstalowałem nodemona. Umieściłem skrypt w pliku package.json. A po biegu npm run służyć. W końcu uruchom nodemon server.js, ale nie działa.
Martin
package.json: {"scripts": {"serve": "nodemon server.js"}, "name": "node-site", "version": "1.0.0", "description": "", " main ":" server.js "," scripts ": {" test ":" echo \ "Błąd: nie określono testu \" && wyjście 1 "}," autor ":" "," licencja ":" ISC ", "zależności": {"express": "^ 4.14.0", "nodemon": "^ 1.11.0"}, "devDependencies": {"gulp-nodemon": "^ 2.2.1", "nodemon": "^ 1.11.0"}}
Martin
Czy możesz wyjaśnić „nie działa”? Czy jest błąd? Nic się nie dzieje?
ndonohoe
Może tak być, ponieważ masz tam dwa zestawy skryptów, musisz mieć wszystkie skrypty w jednym obiekcie skryptów
ndonohoe
31
  1. Zainstaluj nodemon globalnie:

    C:\>npm install -g nodemon
    
  2. Pobierz prefiks:

    C:\>npm config get prefix
    

    W konsoli otrzymasz następujące wyniki:

    C:\Users\Family\.node_modules_global
    

    Skopiuj to.

  3. Ustaw ścieżkę.
    Idź do Zaawansowane ustawienia systemu → Zmienna środowiskowa → Kliknij Nowy (w Zmiennych użytkownika) → Wyświetli się wyskakujący formularz → Przekaż następujące wartości:

    variable name = path,
    variable value = Copy output from your console
    
  4. Teraz uruchom Nodemon:

    C:\>nodemon .
    
Raj Kumar
źródło
To działa!! To było to, czego szukałem. Dziękuję
yashjain12yj
to działało dla mnie. Właściwie mam okna i potrzebowałem naprawić zmienne środowiskowe. Dzięki :)
Laveena
21

Najpierw napisz npm install --save nodemon, a następnie w package.json napisz co następuje

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

następnie napisz

npm run server
Alok Prusty
źródło
To zadziałało! Wielkie dzięki. Tylko zapytanie, nodemon uniemożliwia nam ponowne uruchomienie pliku serwera, ale wciąż musimy odświeżyć przeglądarkę. Czy przeglądarka może samodzielnie odświeżyć się, tak jak robi to w trybie angular?
Rahul Sharma
8

Miałem ten sam problem. Zainstalowałem nodemona jako zależność od deweloperów i kiedy próbowałem uruchomić serwer, otrzymałem taką wiadomość

nodemon nie jest rozpoznawany jako polecenie wewnętrzne lub zewnętrzne, program operacyjny lub plik wsadowy

Następnie zainstalowałem go globalnie i próbowałem uruchomić serwer i zadziałało!

npm install -g nodemon
adityaekawade
źródło
6

Czy trzeba go zainstalować na całym świecie? Czy musisz po prostu biegać nodemon server.js? Jeśli nie, zawsze możesz po prostu wywołać go z lokalnego katalogu projektu. Powinien tu być:

node_modules/.bin/nodemon
Larry Turtis
źródło
Jest to pomocne dla mnie przy uruchamianiu mojego interfejsu API nodejs ze skryptu powłoki. Wielkie dzięki!
Nam G VU
4

Ponieważ przedrostek węzła nie znajduje się w zmiennej PATH ENV, żaden z zainstalowanych globalnie modułów nie jest rozpoznawany. Spróbuj tego. Otwórz znak zachęty polecenia npm config get prefiks i dołącz wynikową ścieżkę do zmiennej PATH env. Teraz powinieneś być w stanie uruchomić nodemona z dowolnego miejsca. wypróbuj ten link i postępuj zgodnie z nim. naprawianie uprawnień npm https://docs.npmjs.com/getting-started/fixing-npm-permissions#option-2-change-npms-default-directory-to-another-directory

vighanesh mandavkar
źródło
W twoim linku znajdują się instrukcje dla Linuksa, czy masz coś dla Windows?
Jose Rojas
4

Ta linia rozwiązała mój problem w CMD:

npm install --save-dev nodemon
Bakos Bence
źródło
3
Globalna instalacja nodemona nie zadziałała, ale ta
zadziałała
4

To może przyjść za późno, ale lepiej coś powiedzieć :)

Jeśli nie chcesz instalować nodemon globbaly, możesz użyć npx , instaluje on pakiet w czasie wykonywania i zachowuje się jak pakiet globalny (pamiętaj, że jest dostępny w danym momencie i nie istnieje globalnie!).

Więc wszystko, czego potrzebujesz, to npx nodemon server.js.

Yaron Miro
źródło
3

Aby używać nodemona, musisz zainstalować go globalnie.

Dla Windowsa

npm i -g nodemon

Dla Maca

sudo npm i -g nodemon

Jeśli nie chcesz instalować go globalnie, możesz zainstalować go lokalnie w folderze projektu, uruchamiając polecenie npm i nodemon . Wystąpi błąd podobny do tego, jeśli zostanie uruchomiony lokalnie:

nodemon: Termin „nodemon” nie jest rozpoznawany jako nazwa pliku
polecenia cmdlet, funkcja, plik skryptu lub program operacyjny. Sprawdź pisownię
nazwy lub jeśli ścieżka została uwzględniona, sprawdź, czy jest to ścieżka
popraw i spróbuj ponownie.

Aby usunąć ten błąd, otwórz package.json plik i dodaj

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

a potem po prostu uruchom polecenie

npm run server

a twój nodemon zacznie działać poprawnie.

Amit Kumar
źródło
1
Źle. Twój skrypt powinien mówić {"server": "nodemon server.js"}
joedotnot
1

Po prostu miałem ten sam problem po utworzeniu nowego profilu użytkownika na moim komputerze deweloperskim.

Problem polegał na tym, że nie uruchamiałem konsoli (wiersz poleceń \ powershell ISE) jako administrator.

Uruchomienie jako administrator rozwiązało ten problem za mnie.

Jim Jimson
źródło
1

Próbowałem zainstalować nodemona globalnie, ale to nie zadziałało. za każdym razem, gdy próbuję uruchomić, zawsze wyświetla mi się błąd:

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. Znalazłem na to dwa rozwiązania

rozwiązanie 1:

Próbowałem zaktualizować „skrypty” w pliku package.json i tam dodałem

"server": "nodemon app.js"

powyżej linii kodu i później

npm run server

Rozwiązanie 2:

  1. Naciśnij klawisz Windows.

  2. Wpisz „Ścieżka” w polu wyszukiwania i wybierz „Edytuj zmienne środowiskowe systemu”

  3. Kliknij „Zmienne środowiskowe” u dołu.

  4. W sekcji „Zmienne systemowe” kliknij dwukrotnie zmienną „Ścieżka”.

  5. Kliknij „Nowy” po prawej stronie.

  6. Skopiuj i wklej to w polu (zastąp [Nazwa użytkownika]):

C: \ Users [nazwa użytkownika] \ AppData \ Roaming \ npm

  1. uruchom ponownie terminal i VSCode.

  2. Następnie wpisz, nodemon app.jsaby uruchomić nodemon

zastosowałem rozwiązanie 2, ponieważ wystarczy uruchomić nodemon [nazwa_pliku.js]

Shubham Kumar
źródło
1

Nie ma potrzeby globalnej instalacji nodemona. Po prostu uruchom ten npx nodemon <scriptname.js> . Otóż ​​to.

pritam ghosh
źródło
0

Możesz uruchomić aplikację node, po prostu wpisując nodemon It First run index.js Możesz łatwo umieścić punkt wejścia w tym pliku.

Jeśli nie zainstalowałeś nodemona, musisz go najpierw zainstalować przez

npm install -g nodemon

Jeśli wystąpił błąd dotyczący uprawnień, użyj

sudo npm install -g nodemon

Możesz sprawdzić, czy nodemon istnieje, czy nie, przez

nodemon -v
Shraddha Goel
źródło
0

Uruchom to polecenie:

npm install nodemon -g

Teraz zainstaluje nodemona, ale problem z moim przypadkiem polega na tym, że instaluje nodemon w innym miejscu Dodałem ścieżkę Nodejs z (ProgramFiles (x86)), ale to nie zadziałało, więc znalazłem inne rozwiązanie.

  • Uruchom powyższe polecenie
  • Podczas instalacji pojawi się ścieżka, w której jest zainstalowany nodemon, a następnie [Proszę przejść do poniższego linku, aby zobaczyć ścieżkę] [1]

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

  • Skopiuj ścieżkę do npm i ustaw ją na zmienną środowiskową
  • Teraz wypróbuj poniższe polecenie, miejmy nadzieję, że zadziała

      nodemon YourAppName.js
Junaid
źródło
0

Wszystkie powyższe opcje zawiodły, mam na to trwałe rozwiązanie. Dodaj poniższy wiersz w pliku package.json w obszarze zależności i run npm install. Spowoduje to dodanie pakietu nodemon do node_modules i gotowe, ciesz się kodowaniem.

"nodemon": "^1.17.*"
Amol Kamble
źródło
3
Witamy w Stack Overflow. Odpowiadając na starsze pytanie istniejącymi odpowiedziami, warto wyjaśnić, jakie nowe informacje przynosi twoja odpowiedź. Ta odpowiedź nie wydaje się pokazywać instalacji globalnej, odwołuje się do konkretnej wersji (więc nie będzie się starzeć) i nie odpowiada na pytanie, które zostało zadane, ponieważ nie pokazuje, jak włączyć Komenda.
Jason Aller
0

Wystarczy zainstalować globalnie

 npm install -g  nodemon

U mnie zadziałało na Windows 10.

nodemon app.js
Prathamesh Więcej
źródło
0

Domyślną zasadą wykonywania polecenia cmdlet Set-ExecutionPolicy jest Ograniczona dla systemu Windows. Możesz spróbować zainstalować nodemon, ustawiając tę ​​zasadę na Unrestricted.

wykonaj polecenie: Set-ExecutionPolicy Unrestricted a następnie spróbuj zainstalować nodemon i wykonaj polecenie:nodemon -v

Mayur
źródło
0

Naprawiłem w ten sposób

  1. odinstaluj istniejący lokalny nodemon

    npm odinstaluj nodemon

  2. zainstaluj go ponownie na całym świecie.

    npm i -g nodemon

Saad Abbasi
źródło
-2

Usuń nodemon, ponieważ jest to zależność od deweloperów i użyj węzła zamiast niego.

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

To zadziałało dla mnie.

Atharv Upadhyay
źródło
Nie odpowiada na pytanie. node i nodemon mają różne cele.
joedotnot
to inna sprawa. W przypadku nodemona powinno to być „server”: „nodemon app.js”
Shubham Kumar