web-dev-qa-db-fra.com

nodemon introuvable dans NPM

J'ai un problème: nodemon ne s'exécute pas à partir du script npm (par exemple, npm start),
mais si nodemon est appelé sur la ligne de commande en dehors du script npm, nodemon s’exécute normalement.

$ 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`

Comment s'appelle-t-il dans le script npm:

package.json

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

Lorsque le script de démarrage npm est exécuté:

$ npm start
> [email protected] 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! [email protected] start: `nodemon server.js`
npm ERR! Exit status 127
npm ERR! 
npm ERR! Failed at the [email protected] 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

Je cherchais une solution, mais je n’en ai pas trouvé.

49
akul

Vous pouvez résoudre ce problème en ajoutant nodemon à votre package.json

npm install nodemon --save

Le problème se produit lorsque nodemon n'existe pas dans /node_modules/.bin

78
siavolt

Essayez de vérifier les packages globaux installés npm list -g --depth=0. Si vous ne trouvez pas nodemon, - installez-le avec l'indicateur -g ou --save-dev. N'installez pas nodemon avec l'indicateur --save, car nodemon utilise uniquement pour development.

30
grey87

sous votre répertoire de projet actuel, exécutez 

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

puis sous "scripts" dans votre package.json fichier, ajoutez "start": "nodemon app.js" (ou quel que soit votre point d'entrée) 
donc ça ressemble à ça:

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

puis courir

npm start

Cela évite de compliquer les réglages PATH et cela fonctionne sur mon mac
L’espoir peut vous aider;)

25
Tina Lee

Installez nodemon globalement en utilisant la commande suivante. Cela fonctionne sur mon ordinateur et je suis sûr que cela fonctionnera également sur votre système.

npm install nodemon -g --save

Parfois, vous devriez avoir la permission de l'installer globalement. Cela peut être facilement fait en utilisant la commande suivante.

  1. Dans LINUX UBUNTU: Sudo npm install nodemon -g --save

  2. Dans Fedora: 

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

19
Nilesh Pawar

Voici comment je l'ai corrigé:

Lorsque j'ai installé nodemon avec:npm install nodemon -g --save, mon chemin d'accès aux packages npm globaux n'était pas présent dans la variable PATH. 

Si vous venez de l'ajouter à la variable $ PATH, il sera corrigé.

Editez le fichier~/.bashrcdans votre dossier de départ et ajoutez cette ligne: -

export PATH=$PATH:~/npm

Ici "npm" est le chemin d'accès à mes paquets npm globaux. Remplacez-le par le chemin global de votre système

5
Natesh bhat

Vous devez simplement l'installer globalement . npm installer -g nodemon

2
Moksh Modi

Cette solution avait fonctionné pour moi: 

Je suppose que vous avez installé nodemon globalement. Si c'est fait, suivez ces étapes: 

ouvrez votre fichier .bash_profile:

nano .bash_profile

passé ceci pour ajouter un nouvel alias dans votre profil bash:

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

Vous pouvez maintenant utiliser la commande nodemon n'importe où. 

2
younessbennaj

Essayez d'installer nodemon globalement.

Sudo npm install -g nodemon
1
Imran Pollob

heroku s'exécute dans un environnement de production par défaut afin de ne pas installer les dépendances dev.

si vous ne voulez pas réinstaller Nodemon en tant que dépendance, je pense que vous ne devriez pas le faire car son emplacement est approprié dans devDependencies et non dans les dépendances.

à la place, vous pouvez créer un script à deux NPM pour éviter cette erreur en exécutant nodemon uniquement dans votre hôte local comme ceci:

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

et lorsque vous souhaitez exécuter le projet localement, exécutez simplement votre terminal npm run start: dev et il chargera app.js par nodemon.

tandis que dans heroku, npm start s’exécute par défaut et charge app.js à partir d’une commande de nœud normale, ce qui vous permet d’éliminer cette erreur.

0
Mohammad altenji

J'ai eu ce problème et même après avoir utilisé la commande npm install nodemon --save dans mon application, j'avais toujours un problème avec nodemon.

Je viens de résoudre après avoir installé nodemon globalement, en utilisant la commande: npm install nodemon -g

0
Tiago Ávila

Installez d’abord nodemon dans votre dossier de travail en

npm install nodemon

Ajoutez le chemin de nodemon à la variable chemin de la variable d'environnement de l'environnement système . Dans mon cas, le chemin de nodemon était.

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

Cela a fonctionné pour moi.

0
Rishabh Nigam

Je voulais ajouter comment j'ai résolu ce problème, car je devais mélanger et assortir différentes solutions. Pour référence, il s’agit d’un PC sous Windows 10, nodemon fonctionnait parfaitement depuis des mois, puis tout à coup, la commande n’a pas été trouvée à moins d’être exécutée localement avec npx. Voici mes pas - 

  1. Vérifiez si elle est installée globalement en exécutant npm list -g --depth=0, dans mon cas, elle a été installée. 
  2. J'ai couru npm uninstall -g nodemon
  3. Ensuite, j'ai réinstallé en utilisant npm install -g --force nodemon --save-dev (il peut être recommandé d'essayer d'exécuter npm install -g nodemon --save-dev en premier, de suivre le reste des étapes et, si cela ne fonctionne pas, recommencez les étapes 2 et 3 en utilisant --force).
  4. Ensuite, j'ai vérifié l'emplacement de mon dossier npm à l'aide de la commande npm config get prefix, qui dans mon cas se trouvait dans C:\Utilisateurs\nom d'utilisateur\AppData\Roaming\npm
  5. J'ai modifié ma variable PATH pour ajouter à la fois ce chemin de fichier et une deuxième entrée avec\bin ajouté (je ne suis pas sûr de savoir lequel est réellement nécessaire car certaines personnes n'ont besoin que du dossier racine npm et d'autres ont besoin de bin, c'était facile assez pour simplement ajouter les deux)
  6. Enfin, j'ai suivi des instructions similaires à celles recommandées par Natesh dans cette entrée. Cependant, sous Windows, le fichier .bashrc n'existe pas automatiquement. Vous devez donc en créer un dans votre répertoire ~. J'avais également besoin de modifier légèrement la manière dont l'exportation avait été écrite pour devenir export PATH=%PATH%;C:\Users\username\AppData\Roaming\npm; (remplacez évidemment "nom d'utilisateur" par votre nom d'utilisateur ou le chemin d'accès au fichier qui a été récupéré à l'étape 4).

J'espère que cela aide tous ceux qui luttent contre ce problème depuis aussi longtemps que moi!

0
Throwback74


Vous avez eu le même problème sinon fonctionnait bien il y a un jour . Solution très simple Vérifiez tout d'abord si nodemon existe ou non sur votre système 

Vérifier

npm list -g --depth=0

Si vous ne voyez pas, installez Il npm install -g nodemon (g signifie globalement)
Si vous constatez que cela ne fonctionne toujours pas, vous devez configurer la variable d'environnement J'utilise Windows. Sous Windows, accédez à 

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

Maintenant, vérifiez si vous avez ce PATH C:\Users\yourUsername\AppData\Roaming\npm
Sinon, vous verrez des chemins existants, ajoutez-y simplement une séparation par des points-virgules. C'est tout! Travaillé pour moi. Pour moi, le noeud a été installé dans C: ..\Roaming\npm et pour vous si le PATH est différent, vous allez mettre dans tout ce qui est applcable.

0
ascension1110

Vous pouvez toujours réinstaller Node.js. Quand j'ai eu ce problème, je n'ai pas pu le résoudre, mais tout ce que j'ai fait, c'est mettre à jour la version actuelle de Node. Vous pouvez le mettre à jour avec ce lien: https://nodejs.org/en/download/

0
Aditya Kuppili

NPM est utilisé pour gérer les packages et les télécharger. Cependant, NPX doit être utilisé comme outil pour exécuter les packages de nœuds.

Essayez d’utiliser NPX nodemon ...

J'espère que cela t'aides!

0
ewldh20

--save, -g et la modification des scripts package.json ne fonctionnaient pas pour moi. Voici ce que vous avez fait: exécuter npm start (ou utiliser npx nodemon) dans la ligne de commande. J'utilise le terminal de code Visual Studio . Une fois le test réussi, le message suivant s'affiche:

[nodemon] 1.18.9
[nodemon] pour redémarrer à tout moment, entrez rs
[nodemon] regarde:.
[nodemon] à partir de node app.js

Bonne chance!

0
bella