web-dev-qa-db-fra.com

L'exécution de karma après l'installation entraîne «karma» n'est pas reconnu comme une commande interne ou externe

J'essaie d'exécuter le karma en tant que partie d'un projet angular-seed, après avoir installé le karma avec

npm install -g karma

Je reçois:

'karma' is not recognized as an internal or external command, operable program or batch file.

lorsque j'essaie d'exécuter test.bat à partir de angular-client\scripts, le contenu de ce fichier est le suivant:

définir BASE_DIR =% ~ dp0

karma démarre "% BASE_DIR% ..\config\karma.conf.js"% *

J'ai également essayé de naviguer vers "\ AppData\Roaming\npm\node_modules\karma\bin" et j'ai vu le fichier karma. Lorsque j'essaie de l'exécuter, je reçois à nouveau:

'karma' n'est pas reconnu comme une commande interne ou externe, un programme utilisable ou un fichier de commandes.

Aucune suggestion? Sinon, veuillez suggérer comment utiliser du jasmin sans karma.

Merci.

105
Liad Livnat

L'interface de ligne de commande est dans un package séparé.

Pour installer cette utilisation:

npm installer -g karma-cli

315
MrCheese

karma-cli

Il est recommandé d'installer karma avec son interface de ligne de commande ( karma-cli ) qui se chargera de récupérer le karma approprié. Vous pouvez également installer une version locale différente, spécifique à chaque projet sur lequel vous travaillez, et karma-cli choisira celui qui convient.

Depuis la page installation de karma :

Taper ./Node_modules/karma/bin/karma start est nul, vous pouvez donc trouver utile d'installer karma-cli globalement:

npm install -g karma-cli

Maintenant, vérifiez que le karma a été installé en tapant:

which karma  //echo something like: /usr/local/bin/karma

et vérifiez que le serveur karma fonctionne (ctr + c pour quitter):

karma start 

Vous pouvez également vérifier que karma a été installé en allant dans ce répertoire:

cd /usr/local/lib/node_modules/karma

Bonne chance!

16
Lior Elrom

J'ai eu le même problème et l'ai corrigé en corrigeant ma variable d'environnement PATH.

STEP 1: allez dans le chemin suivant et assurez-vous que karma.cmd est présent à l'emplacement indiqué ci-dessous

[chemin du dossier Nodejs]\node_modules\.bin <=> C:\Program Files\nodejs\node_modules\.bin

STEP 2: S'il est présent, passez à l'ETAPE 3. Sinon, lancez la commande suivante npm install -g karma

STEP 3: Ouvrir les variables d'environnement et éditer le chemin

ÉTAPE 4: Ajouter ce qui suit à la fin:

[chemin du dossier Nodejs]\node_modules\.bin; <=> "C:\Program Files\nodejs\node_modules\.bin"

Déconnectez-vous de votre session et cela fonctionnera à coup sûr.

4
ajaysinghdav10d

Sous Windows, lorsque vous installez un npm (de manière non globale - donc sans l'indicateur -g), Les commandes exécutables sont liées dans le dossier node_modules\.bin.

Par exemple:

powershell> .\node_modules\.bin\karma start

powershell> .\node_modules\.bin\karma run

4

Basé sur votre répertoire en utilisant \AppData\Roaming, vous êtes sous Windows et cette erreur est généralement due au fait que le chemin d'accès aux globales npm n'est pas défini dans Windows PATH ou NODE_PATH Variables d'environnement.

Utilisez SET pour vérifier les valeurs que vous utilisez pour les chemins et si votre répertoire npm ne figure pas dans la liste, ce sera le problème.

Si vous ne voulez pas que npm soit sauvegardé dans ce répertoire, cochez les options de configuration de npm et les dossiers de dossiers npm pour voir ce que vous pouvez changer à cet égard ...

3
Matthew Bakaitis

'karma' n'est pas reconnu comme une commande interne ou externe, un programme utilisable ou un fichier de commandes.

Si la solution susmentionnée ne fonctionne pas, alors que le problème est dû à la version précédente de nodejs. Désinstallez donc la version précédente de nodejs et réinstallez la version la plus récente. Cela résoudra votre problème. Comme je faisais face aux mêmes et en faisant les changements ci-dessus, cela a fonctionné pour moi.

Merci.

2
Neha

La documentation officielle sur https://karma-runner.github.io/0.12/intro/installation.html est source de confusion. Cela implique que npm install -g karma-cli doit installer le karma globalement, mais il est en fait requis pour exécuter le karma à partir de la ligne de commande.

1
Maksood