nodemon nicht in npm gefunden

74

Ich habe ein Problem: nodemon wird nicht vom npm-Skript ausgeführt (z. B. npm start),
aber wenn nodemon in der Befehlszeile außerhalb des npm-Skripts aufgerufen wird, wird nodemon wie gewohnt ausgeführt.

$ nodemon server.js
14 Feb 22:59:51 - [nodemon] v1.3.7
14 Feb 22:59:51 - [nodemon] to restart at any time, enter `rs`
14 Feb 22:59:51 - [nodemon] watching: *.*
14 Feb 22:59:51 - [nodemon] starting `node server.js`

Wie es im npm-Skript heißt:

package.json

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

Wenn npm start script ausgeführt wird:

$ npm start
> aaa@0.0.1 start /home/akul/Documents/aaa
> nodemon server.js

sh: 1: nodemon: not found

npm ERR! Linux 3.13.0-45-generic
npm ERR! argv "node" "/home/akul/npm-global/bin/npm" "start"
npm ERR! node v0.12.0
npm ERR! npm  v2.5.0
npm ERR! code ELIFECYCLE
npm ERR! aaa@0.0.1 start: `nodemon server.js`
npm ERR! Exit status 127
npm ERR! 
npm ERR! Failed at the aaa@0.0.1 start script 'nodemon server.js'.
npm ERR! This is most likely a problem with the aaa package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     nodemon server.js
npm ERR! You can get their info via:
npm ERR!     npm owner ls aaa
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR!     /home/akul/Documents/aaa/npm-debug.log

Ich habe nach einer Lösung gesucht, aber keine gefunden.

akul
quelle

Antworten:

110

Sie können durch das Hinzufügen dieses Problem zu beheben , nodemonum Ihre package.json:

npm install nodemon --save-dev

Das Problem tritt auf, wenn nodemones in nicht vorhanden ist /node_modules/.bin.

Hinzugefügt, --save-devda es nur während der Entwicklung benötigt wird.

Siavolt
quelle
4
npm WARN bevorzugen global [email protected] sollte mit -g installiert werden, aber jetzt erfolgreich, danke so nodemon, dass in einem globalen Verzeichnis von nicht verwendeten: D
akul
1
Ich habe auch das gleiche Problem. Jetzt für diesen Befehl auflösen - npm install nodemon --save
Bipon Biswas
6
Installieren Sie nodemon nicht mit flag --save, da nodemon nur für die Entwicklung verwendet wird. Verwendung -goder --save-devFlag
grey87
Eine der Antworten könnte sein, dass jemand Probleme mit der Verwendung der WSL-Befehlszeile in der Visual Studio-Code-IDE hat: stackoverflow.com/a/62639745/8119511
Ank_247shbm
40

Versuchen Sie, installierte globale Pakete zu überprüfen npm list -g --depth=0. Wenn Sie nicht finden nodemon, - installieren Sie es mit Flag -goder --save-dev. Nicht nodemonmit Flag installieren --save, da nodemonnur für verwendet development.

grey87
quelle
1
npm install -g nodemon
Elrond unterstützt Monica
Eine der Antworten könnte sein, dass jemand Probleme mit der Verwendung der WSL-Befehlszeile in der Visual Studio-Code-IDE hat: stackoverflow.com/a/62639745/8119511
Ank_247shbm
31

Führen Sie unter Ihrem aktuellen Projektverzeichnis aus

npm install nodemon --save //save in package.json so that the following code cam find your nodemon

Fügen Sie dann unter "scripts" in Ihrer package.json- Datei "start" hinzu: "nodemon app.js" (oder was auch immer Ihr Einstiegspunkt ist),
damit es so aussieht:

"scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "start": "nodemon app.js"
}

und dann laufen

npm start

Das vermeidet komplizierte PATH-Einstellungen und funktioniert auf meinem Mac.
Hoffnung kann dir helfen;)

Tina Lee
quelle
3
Installieren Sie nodemon nicht mit flag --save, da nodemon nur für die Entwicklung verwendet wird. Verwenden Sie -g oder --save-dev
grey87
25

Installieren Sie nodemonglobal mit dem folgenden Befehl. Es funktioniert auf meinem Computer und ich bin sicher, dass es auch auf Ihrem System funktioniert.

npm install nodemon -g --save

Manchmal sollten Sie die Berechtigung haben, es global zu installieren. Dies kann einfach mit dem folgenden Befehl durchgeführt werden.

  1. In LINUX UBUNTU: sudo npm install nodemon -g --save

  2. In Fedora:

    a) su
    b)npm install nodemon -g --save

Nilesh Pawar
quelle
10

Versuchen Sie, nodemon global zu installieren.

sudo npm install -g nodemon
Imran Pollob
quelle
5

So habe ich es behoben:

Bei der Installation von nodemon using: npm install nodemon -g --savewar mein Pfad für die globalen npm-Pakete in der PATH-Variablen nicht vorhanden.

Wenn Sie es nur zur Variablen $ PATH hinzufügen, wird es behoben.

Bearbeiten Sie die ~/.bashrcDatei in Ihrem Home-Ordner und fügen Sie folgende Zeile hinzu: -

export PATH=$PATH:~/npm

Hier ist "npm" der Pfad zu meinen globalen npm-Paketen. Ersetzen Sie es durch den globalen Pfad in Ihrem System

Natesh bhat
quelle
3

Sie müssen es einfach global installieren. npm install -g nodemon

Setu Modi
quelle
Das hat auch bei mir funktioniert. Dann zu starten - #nodemon ./path/to/startfile
Nelles
3

heroku wird standardmäßig in einer Produktionsumgebung ausgeführt, sodass die Entwicklungsabhängigkeiten nicht installiert werden.

Wenn Sie nodemon nicht als Abhängigkeit neu installieren möchten, sollte dies meiner Meinung nach nicht der Fall sein, da der richtige Platz in devDependencies und nicht in Abhängigkeiten liegt.

Stattdessen können Sie zwei npm-Skripte erstellen, um diesen Fehler zu vermeiden, indem Sie nodemon nur in Ihrem localhost wie folgt ausführen:

"scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "start": "node app.js",
    "start:dev": "nodemon --watch"
},

und wenn Sie das Projekt lokal ausführen möchten, führen Sie es einfach in Ihrem Terminal aus npm run start:devund es lädt app.js per nodemon.

Während in Heroku npm startstandardmäßig ausgeführt wird und app.js von einem normalen Knotenbefehl geladen wird, wird dieser Fehler behoben.

Mohammad altenji
quelle
2

Diese Lösung hatte bei mir funktioniert:

Ich gehe davon aus, dass Sie nodemon global installiert haben. Wenn dies erledigt ist, gehen Sie folgendermaßen vor:

Öffnen Sie Ihre .bash_profile-Datei:

nano .bash_profile

Fügen Sie dies hinzu, um Ihrem Bash-Profil einen neuen Alias ​​hinzuzufügen:

alias nodemon='~/.npm-global/lib/node_modules/nodemon/bin/nodemon.js'

Jetzt können Sie den Befehl nodemon überall verwenden.

younessbennaj
quelle
2
sudo npm install nodemon -g --save

Endlich hat das bei mir geklappt. Ich hoffe das muss auch für andere funktionieren

Roshan
quelle
1

NPM wird verwendet, um Pakete zu verwalten und herunterzuladen. NPX muss jedoch als Tool zum Ausführen von Knotenpaketen verwendet werden

Versuchen Sie es mit NPX nodemon ...

Hoffe das hilft!

ewldh20
quelle
1

Das hat bei mir funktioniert ...

Installieren Sie nodemon als lokale Entwicklungsabhängigkeit

npm install --save-dev nodemon

Fügen Sie Ihrer Anwendung package.json ein Skript hinzu, um die Anwendung zu starten.

"scripts": {
  "start": "nodemon app.js"
},

Starten Sie nodemon mit npm start

$ npm start

> node-rest-demo@1.0.0 start node-rest-demo
> nodemon app.js

[nodemon] 1.19.4 [nodemon] to restart at any time, enter `rs` [nodemon] watching dir(s): *.* [nodemon] watching extensions: js,mjs,json [nodemon] starting `node app.js` Starting server ...
Peter Tarlos
quelle
1

Mein Nodemon verschwand nach der Installation von Babel (warum?).

Versuchte eine Menge Sachen. So habe ich es gelöst:

sudo npm i -g nodemon

Installieren Sie es einfach mit sudo neu. Ja.

Henrique Bruno
quelle
1

Ich hatte ein ähnliches Problem, überprüfte dann aber die .npmrc-Datei und es gab ein falsches Passwort, das den Verbindungsfehler verursachte, und daher gab garn --verbose einen fehlerhaften Anforderungsfehler zurück. Nach der Korrektur des Passworts wurden die Pakete erfolgreich hinzugefügt.

rg0623
quelle
1

npx nodemon (app.js) hat bei mir funktioniert und nodemon (app.js) nicht.

Ich habe node.js auf die neueste Version aktualisiert und jetzt funktionieren beide.

David Gilkeson
quelle
Dies hat nichts mit einer Aktualisierung des Knotens zu tun. nodemonlokal installiert geht in ./node_modules/.bin/nodemon. Sie können also npxnpm-Paket-Binärdateien ausführen oder nodemonglobal installieren (mithilfe von -g), wie in mehreren anderen Antworten angegeben.
Mickael B.
Vielen Dank für Ihre Eingabe. Ich hatte nodemon global installiert, funktionierte aber immer noch nicht für mich. Erst bis node.js aktualisiert wurde, begann es zu funktionieren. Ich weiß nicht wie, aber so habe ich es behoben.
David Gilkeson
0

Ich hatte dieses Problem und selbst nachdem ich den Befehl npm install nodemon --savein meiner Anwendung verwendet habe, hatte ich immer noch ein Problem mit nodemon.

Ich habe mich gerade aufgelöst, nachdem ich nodemon global installiert hatte, mit dem folgenden Befehl:npm install nodemon -g

Tiago Ávila
quelle
0


Hatte das gleiche Problem sonst funktionierte gerade gut vor einem Tag. Sehr einfache Korrektur Überprüfen Sie zuerst, ob nodemon global auf Ihrem System vorhanden ist oder nicht

Überprüfen

npm list -g --depth=0

Wenn Sie es nicht sehen, installieren Sie es npm install -g nodemon(g steht für global).
Wenn Sie sehen, dass es immer noch nicht funktioniert, müssen Sie die Umgebungsvariable konfigurieren, die ich unter Windows verwende. Navigieren Sie unter Windows zu

Control panel>System>Advanced System Settings>Environment Variables>double-click on PATH

Überprüfen Sie nun, ob Sie diesen PFAD haben. C:\Users\yourUsername\AppData\Roaming\npm
Wenn nicht, werden einige vorhandene Pfade angezeigt. Fügen Sie ihn einfach mit einem Semikolon an. Das ist es! Hat für mich gearbeitet. Für mich wurde der Knoten in C: .. \ Roaming \ npm installiert, und für Sie, wenn der Pfad anders ist, geben Sie alles ein, was anwendbar ist.

pulkit219
quelle
Ich habe einige wie den Eintrag in meinem Pfad verloren. Ich weiß nicht wie, aber Ihr Vorschlag hat es behoben. Vielen Dank
Herr Bell
Gern geschehen!! Viel Spaß
pulkit219
0

Installieren Sie nodemon zuerst in Ihrem Arbeitsordner von

npm install nodemon

Fügen Sie den Pfad des Knotens zur Pfadvariablen der Umgebungsvariablen der Systemumgebung hinzu . In meinem Fall war der Weg von Nodemon.

C:\Users\Dell\Desktop\Internship Project\schema\node_modules\.bin

Es hat bei mir funktioniert.

Rishabh Nigam
quelle
0

Sie können Node.js jederzeit neu installieren. Als ich dieses Problem hatte, konnte ich es nicht beheben, aber ich habe nur die aktuelle Version von Node aktualisiert. Sie können es über diesen Link aktualisieren: https://nodejs.org/en/download/

Aditya Kuppili
quelle
0

Ich wollte hinzufügen, wie ich dieses Problem behoben habe, da ich ein bisschen Mix and Match aus einigen verschiedenen Lösungen machen musste. Als Referenz gilt dies für einen Windows 10-PC. Nodemon hat seit Monaten einwandfrei funktioniert, und dann wurde der Befehl plötzlich nicht mehr gefunden, es sei denn, er wurde lokal mit npx ausgeführt. Hier waren meine Schritte -

  1. Überprüfen Sie, ob es global installiert ist, indem Sie es ausführen npm list -g --depth=0 . In meinem Fall wurde es installiert. Starten Sie also neu ...
  2. Ich rannte npm uninstall -g nodemon
  3. Als nächstes habe ich using neu installiert npm install -g --force nodemon --save-dev(es kann empfohlen werden, zuerst zu versuchen npm install -g nodemon --save-dev, die restlichen Schritte auszuführen und die Schritte 2 und 3 erneut mit --force durchzuführen, wenn dies nicht funktioniert).
  4. Dann überprüfte ich mit dem Befehl npm config get prefix, wo sich mein npm-Ordner befand , in meinem Fall unter C: \ Benutzer \ Benutzername \ AppData \ Roaming \ npm
  5. Ich habe meine PATH-Variable so geändert, dass sowohl dieser Dateipfad als auch ein zweiter Eintrag mit angehängtem \ bin hinzugefügt werden (ich bin nicht sicher, welcher tatsächlich benötigt wird, da einige Leute nur den Root-Ordner npm und andere bin benötigt haben, es war einfach genug, um einfach beide hinzuzufügen)
  6. Schließlich habe ich ähnliche Anweisungen befolgt wie von Natesh für diesen Eintrag empfohlen. Unter Windows ist die .bashrc-Datei jedoch nicht automatisch vorhanden, sodass Sie eine in Ihrem ~ -Verzeichnis erstellen müssen. Ich musste auch leicht ändern, wie der Export geschrieben wurde export PATH=%PATH%;C:\Users\username\AppData\Roaming\npm;(Ersetzen Sie offensichtlich "Benutzername" durch Ihren Benutzernamen oder den Dateipfad, der in Schritt 4 abgerufen wurde).

Ich hoffe, das hilft jedem, der so lange mit diesem Problem zu kämpfen hat wie ich!

Throwback74
quelle
0

--save, -g und das Ändern von package.json-Skripten funktionierten bei mir nicht. Folgendes wurde ausgeführt: Ausführen npm start(oder Verwenden npx nodemon) in der Befehlszeile. Ich benutze Visual Studio Code Terminal. Wenn dies erfolgreich ist, wird folgende Meldung

angezeigt : [nodemon] 1.18.9 [nodemon] Um
jederzeit neu zu starten, geben Sie rs
[nodemon] ein und beobachten : .
[nodemon] startet node app.js

Viel Glück!

Bella
quelle
0

In meinem Fall musste nodemon global installiert werden:

npm i nodemon -g --save
Mwiza
quelle
0

Ich habe versucht, globale Pakete mit npm list -g --depth=0aufzulisten, konnte jedoch nodemon nicht finden.
Daher wurde versucht, es mit dem globalen Flag zu installieren.
sudo npm install nodemon -g
Das hat bei mir gut funktioniert.

taurus05
quelle
0

Anleitung für Windows,

Öffnen Sie die Eingabeaufforderung.
Typ npm i -g nodemon --save
„--save“ ist die Zugabe dieser Knoten Paket in Ihrem Projekt package.json Datei zu speichern

Manoj Kumar
quelle
0

Ich mein Fall:

npm install nodemon

Ohne Flaggen usw.

Szymon1985
quelle
0

Ich habe eine sehr einfache Lösung gefunden. Löschen Sie einfach den Cache-Ordner npm und npm von Ihrem PC. Installieren Sie es erneut, aber der Fehler, den viele von uns machen, besteht darin, npm nicht global zu installieren.

npm i -g npm

Installieren Sie dann nodemon global:

npm i -g nodemon

Jetzt funktioniert nodemon global, auch ohne den folgenden Befehl zu verwenden:

npx nodemon <yourfilename>.js
Ayush Shankar
quelle
0

für Linux versuchen

sudo npm install -g nodemon

Für Windows öffnen Sie Powershell oder Cmd als Administration

npm install -g nodemon
MD SHAYON
quelle
0

Für Visual Studio Code Editor mit Windows-Subsystem für Linux, dh WSL-Modus:

sudo npm install nodemon -g

für die globale Verwendung von nodemon.

Ank_247shbm
quelle
0

Ich habe dieses Problem beim Bereitstellen auf Heroku erhalten. Das Problem ist bei Heroku, dass die devDependencies nicht alleine enthalten sind. Um dieses Problem zu beheben, führen Sie einfach den Befehl im Terminal aus:

heroku config: setze NPM_CONFIG_PRODUCTION = false

Stellen Sie sicher, dass nodemon in Ihre devDependencies aufgenommen wird

"devDependencies": {
    "nodemon": "^2.0.6"
  }

Falls Ihr Fehler nicht in Heroku ist

Ich würde vorschlagen, nodemon zu deinstallieren und dann neu zu installieren

https://www.npmjs.com/package/nodemon

Oder versuchen Sie, das Skript zu ändern

"scripts": {
    "start": "nodemon fileName.js",
    "start:dev": "nodemon fileName.js"
 }

Hoffe es würde helfen :)

Rebell
quelle