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

108

J'essaye d'exécuter le karma dans le cadre d'un projet angular-seed , après avoir installé le karma en utilisant

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 d'angular-client \ scripts, le contenu de ce fichier est:

set 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'essaye 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 le jasmin sans karma.

Merci.

Liad Livnat
la source
2
Essayeznpm install karma -g
Siva Tumma
@lior karma est un synonyme de karma-runner, il a donc été automatiquement mappé lorsque vous l'avez édité.
Flexo
@Flexo, merci. Je ne le savais pas, mais je pense qu'il doit également être spécifique à une balise, comme html inclura html5 (peut-être?) Ou même html5-canvas
Lior Elrom

Réponses:

319

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

Pour installer cette utilisation:

npm installer -g karma-cli

MrCheese
la source
17
Mec, ils ne gardent vraiment pas ces documents à jour: / karma-runner.github.io/0.8/intro/installation.html (car 3 ans après cette réponse, les documents disent npm install -g karma && karma startque cela ne fonctionne pas).
Arrêtez de calomnier Monica Cellio le
2
Les documents @sequoiamcdowell pour Karma sont versionnés, vous ne verrez aucune mise à jour pour l'ancienne version. Consultez la documentation pour la dernière version karma-runner.github.io/0.12/intro/installation.html
pkozlowski.opensource
assurez-vous de l'exécuter en tant qu'administrateur
Jerry
1
Je ne peux pas croire que cela passe entre les mailles du filet
Cody
J'ai passé au moins une heure à chercher une solution. Je pensais que c'était un problème de framework .net. Cette solution fonctionnera même lorsque vous voyez l'erreur de framework .net: «MSBUILD: erreur MSB3428: impossible de charger le composant Visual C ++« VCBuild.exe ». Pour résoudre ce problème, 1) installez le SDK .NET Framew ork 2.0, 2) installez Microsoft Visual Studio 2005 ou 3) ajoutez l'emplacement du composant au chemin d'accès système s'il est installé ailleurs. » Heureusement, j'ai trouvé votre solution et j'ai du karma à charger. Je vous remercie!
ThinkBonobo du
17

karma-cli

Il est recommandé d'installer le 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 celle qui convient.

Depuis la page d' installation de karma :

Taper ./node_modules/karma/bin/karma start est nul donc vous pourriez 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!

Lior Elrom
la source
7

Sous Windows, lorsque vous installez un npm (de manière non globale - donc sans le -gdrapeau), les commandes exécutables sont liées dans le node_modules\.bindossier.

Par exemple:

powershell> .\node_modules\.bin\karma start

powershell> .\node_modules\.bin\karma run

Alexander Williamson
la source
.\node_modules\.bin\karma.cmd start
J'obtenais des
6

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

ÉTAPE 1: accédez au 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

ÉTAPE 2: si présent, passez à l'ÉTAPE 3, si non présent, exécutez la commande suivante npm install -g karma

ÉTAPE 3: Ouvrez les variables d'environnement et modifiez PATH

ÉTAPE 4: Ajoutez 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.

ajaysinghdav10d
la source
4

En fonction de l'utilisation de votre répertoire \AppData\Roaming, vous êtes sous Windows et cette erreur est généralement due au fait que le chemin d'accès aux globaux npm ne se trouve pas dans les variables Windows PATHou d' NODE_PATHenvironnement.

Utilisez SETpour vérifier les valeurs que vous utilisez pour les chemins et si votre répertoire npm n'est pas répertorié, ce sera le problème.

Si vous ne voulez pas que npm enregistre dans ce répertoire, vérifiez les options de configuration de npm et la documentation des dossiers npm pour voir ce que vous pouvez changer à cet égard ...

Matthew Bakaitis
la source
J'ai déjà essayé d'ajouter le npm au chemin en utilisant la commande suivante "set PATH =" C: \ Users \ Liad \ AppData \ Roaming \ npm;% PATH% ", enfin rien, pouvez-vous me dire où est l'emplacement exact de votre fichier d'exécution de karma?
Liad Livnat
Sur mon système Windows, j'ai configuré npm pour l'utiliser C:\npm. Certains des trucs Windows que je fais sont sur XP qui a des problèmes de longueur de chemin, donc je voulais garder le chemin total aussi court que possible. Si vous êtes sur XP, cela peut être un facteur contributif ... et peut-être aussi sur les versions plus récentes de Windows (???).
Matthew Bakaitis
2

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

Si la solution mentionnée ci-dessus ne fonctionne pas, la cause du problème est la version précédente de nodejs. Désinstallez donc la version précédente de nodejs et réinstallez la dernière version. Cela résoudra votre problème. En faisant face à la même chose et en faisant les changements ci-dessus, cela a fonctionné pour moi.

Merci.

Neha
la source
-1

J'ai eu le même 'karma' is not recognized as an internal or external command, operable program or batch file.problème : j'ai essayé de l'installer directement dans mon fichier de projet. Quand j'avais l'habitude npm install -g karma-clid'installer globalement tout fonctionnait très bien.

user8082924
la source