web-dev-qa-db-fra.com

nodemon '' mocha 'n'est pas reconnu en tant que commande interne ou externe, programme utilisable ou fichier de commandes

Exécution d'un test pour un projet nodejs sous Windows 10 Avec la ligne dans package.json sous la forme:

"test": "nodemon --exec 'mocha -R min'"

Je reçois:

>  nodemon --exec 'mocha -R min'  

[nodemon] 1.11.0
[nodemon] to restart at any time, enter `rs`
[nodemon] watching: *.*
[nodemon] starting `'mocha -R min'`
''mocha' is not recognized as an internal or external command,
operable program or batch file.
[nodemon] app crashed - waiting for file changes before starting...
rs
[nodemon] starting `'mocha -R min'`
''mocha' is not recognized as an internal or external command,
operable program or batch file.
[nodemon] app crashed - waiting for file changes before starting...
8
MToma

Cela a bien fonctionné avec la ligne:

"test": "nodemon --exec \"mocha -R min\""

dans package.json

27
MToma

Si vous utilisez Windows OS, n'utilisez pas les guillemets simples.

"test": "nodemon --exec 'mocha -R min'"

Utilisez ceci 

"test": "nodemon --exec mocha -R min"

Visitez: www.mycodingx.com pour plus

4
Atul Kumar

Je ne suis pas un noyau Windows ni aucun .. expert. Dans mon cas, le script de test continuait à générer des erreurs avec le message npm n'était pas reconnu comme une commande interne ou externe.

a) Quand je l'avais comme 

"test": "mocha **/*.test.js",
"test-watch": "nodemon --exec 'npm test'"

Il a couru plusieurs fois et s’est arrêté et l’erreur a commencé à se produire alors quand je suis passé à

"test": "mocha **/*.test.js",
"test-watch": "nodemon --exec \"npm test\""

Malgré tout, je continuais à avoir la même erreur de npm non reconnue… Et peu importe le nombre de fois où j'ai publié Ctrl c, le nodemon ne s'arrêtait pas.

J'ai pris les mesures nécessaires pour redémarrer mon ordinateur portable, désinstaller et réinstaller des nodeJs, mettre à jour la variable PATH dans le Panneau de configuration - Comptes d'utilisateurs - Les variables d'environnement ne représentant aucune fin en vue.

Cela me porte à croire que quelque part ou d’une autre manière, que ce soit nodemon ou moka pas sûr, ce qui est suspendu, donc même après que j’ai modifié pour échapper et utiliser des guillemets doubles 

"test": "mocha **/*.test.js",
"test-watch": "nodemon --exec \"npm test\""

J'ai toujours gardé la même erreur.

b) Alors j'ai changé le nom de la clé de test-watch à test-new 

"test": "mocha **/*.test.js",
"test-new": "nodemon --exec \"npm test\""

et a exécuté npm exécuter test-new et tous les tests fonctionnent correctement.

Allez comprendre...

Je pense donc que je vais m'en tenir à conserver des noms de script de test uniques entre différents projets. Je n'ai pas d'autre explication ... Tout le monde peut faire la lumière à ce sujet? S'il-vous-plaît faites ainsi...

1
user428602
"test": "mocha **/*.test.js",
"test-watch": "nodemon --exec \"npm test\""

Pour la course

npm run test-watch
0
Hrishikesh Baidya

Une autre approche consiste à ajouter le chemin mocha aux variables d’environnement, puis à redémarrer le bash Dans votre éditeur, accédez au dossier bin de mocha et ajoutez les deux chemins à votre environnement système . Toutes les options de script illustrées. travailler avec cette approche

"scripts": {
    "test": "nodemon --exec \"mocha -R min\""
}

ou

"scripts": {
    "test": "nodemon --exec 'mocha -R min'"
}

ou

"scripts": {
    "test": "nodemon --exec mocha -R min"
 }

dans le fichier package.json, la définition des dépendances est correcte

J'espère que cela aide à résoudre le problème.

0
Michael Elimu

Vérifiez également votre NODE_ENV = development si vous êtes sur Windows et utilisez git-bash . Pour une raison quelconque, la production est utilisée par défaut. 

$ echo $NODE_ENV

Avec l'indicateur --production (ou lorsque la variable d'environnement NODE_ENV est définie sur production), npm n'installe pas les modules répertoriés dans "devDependencies"

Vous pouvez le vérifier en consultant votre dossier node_modules/et voir si mocha a été installé. Si non:

$ npm install --only=dev

également: 

$ NODE_ENV=development
$ npm i -D mocha

ferait l'affaire.

0
cass_

installer le moka globalement alors cela fonctionnera

npm installer -g mocha --save-dev

0
dawood

Dans le package.json, vous devez ajouter un nouveau script juste après le script "test". Nous pouvons créer un script personnalisé et le nommer "test-watch" et la valeur de "test-watch" est "nodemon --exec \"npm test\"" (i.e "test-watch": "nodemon --exec \"npm test\""). Après cette étape, nous pouvons utiliser la commande npm run test-watch dans le terminal.

0
kapozade