Das Ausführen von Karma nach der Installation führt zu 'Karma' und wird nicht als interner oder externer Befehl erkannt

108

Ich versuche, Karma als Teil eines Winkelsamenprojekts auszuführen , nachdem ich Karma mit installiert habe

npm install -g karma

Ich bekomme:

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

Wenn ich versuche, test.bat über Angular-Client \ Skripte auszuführen, lautet der Inhalt dieser Datei:

setze BASE_DIR =% ~ dp0

Karma-Start "% BASE_DIR% .. \ config \ karma.conf.js"% *

Ich habe auch versucht, zu "\ AppData \ Roaming \ npm \ node_modules \ karma \ bin" zu navigieren und habe eine Karma-Datei gesehen. Wenn ich versuche, sie auszuführen, erhalte ich erneut:

'Karma' wird nicht als interner oder externer Befehl, bedienbares Programm oder Batch-Datei erkannt.

Irgendwelche Vorschläge? Wenn nicht, schlagen Sie bitte vor, wie man Jasmin ohne Karma verwendet.

Vielen Dank.

Liad Livnat
quelle
2
Versuchen Sienpm install karma -g
Siva Tumma
@lior Karma ist ein Synonym für Karma-Runner, daher wurde es beim Bearbeiten automatisch zugeordnet.
Flexo
@ Flexo, danke. Ich wusste das nicht, aber ich glaube, dass es auch tag-spezifisch sein muss, wie HTML wird HTML5 (vielleicht?) Oder sogar HTML5-Canvas enthalten
Lior Elrom

Antworten:

319

Die Befehlszeilenschnittstelle befindet sich in einem separaten Paket.

So installieren Sie Folgendes:

npm install -g karma-cli

MrCheese
quelle
17
Mann, sie halten diese Dokumente wirklich nicht auf dem neuesten Stand: / karma-runner.github.io/0.8/intro/installation.html (3 Jahre nach dieser Antwort sagen npm install -g karma && karma startdie Dokumente, was nicht funktioniert).
Hören Sie auf, Monica Cellio am
2
@sequoiamcdowell-Dokumente für Karma sind versioniert. Für die alte Version werden keine Updates angezeigt. Überprüfen Sie die Dokumente für die letzte Version karma-runner.github.io/0.12/intro/installation.html
pkozlowski.opensource
Stellen Sie sicher, dass Sie dies als Administrator ausführen
Jerry
1
Ich kann nicht glauben, dass dies durch die Ritzen rutscht
Cody
Ich habe mindestens eine Stunde lang nach einer Lösung gesucht. Ich dachte, es sei ein .net-Framework-Problem. Diese Lösung funktioniert auch dann, wenn der .net Framework-Fehler angezeigt wird: "MSBUILD: Fehler MSB3428: Die Visual C ++ - Komponente" VCBuild.exe "konnte nicht geladen werden. Um dies zu beheben, 1) installieren Sie das .NET Framew ork 2.0 SDK, 2) Installieren Sie Microsoft Visual Studio 2005 oder 3) Fügen Sie den Speicherort der Komponente zum Systempfad hinzu, wenn sie an einer anderen Stelle installiert ist. " Zum Glück habe ich Ihre Lösung gefunden und Karma zum Laden gebracht. Danke dir!
ThinkBonobo
17

Karma-Cli

Es wird empfohlen, Karma mit seiner Befehlszeilenschnittstelle ( karma-cli ) zu installieren, die sich um das Abrufen des entsprechenden Karmas kümmert. Sie können auch eine andere lokale Version installieren, die für jedes Projekt, an dem Sie arbeiten, spezifisch ist, und karma-cli wählt die entsprechende aus.

Von der Karma-Installationsseite :

Die Eingabe von ./node_modules/karma/bin/karma start saugt, sodass es möglicherweise nützlich ist, karma-cli global zu installieren:

npm install -g karma-cli

Überprüfen Sie nun, ob Karma installiert wurde, indem Sie Folgendes eingeben:

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

und überprüfen Sie, ob der Karma-Server funktioniert (Strg + C zum Beenden):

karma start 

Sie können auch überprüfen, ob Karma installiert wurde, indem Sie in dieses Verzeichnis gehen:

cd /usr/local/lib/node_modules/karma

Viel Glück!

Lior Elrom
quelle
7

Unter Windows werden bei der Installation eines npm (nicht global - also ohne -gFlag) die ausführbaren Befehle im node_modules\.binOrdner verknüpft .

Beispielsweise:

powershell> .\node_modules\.bin\karma start

powershell> .\node_modules\.bin\karma run

Alexander Williamson
quelle
Ich habe auf diese Weise zusätzliche auf Berechtigungen basierende Fehler erhalten, sodass ich die eigentliche cmd-Datei ausführen musste, .\node_modules\.bin\karma.cmd startund das hat bei mir funktioniert
Nick Tallents
6

Ich hatte das gleiche Problem und habe es behoben, indem ich meine Umgebungsvariable PATH korrigiert habe.

SCHRITT 1: Gehen Sie zum folgenden Pfad und stellen Sie sicher, dass karma.cmd an der unten angegebenen Stelle vorhanden ist

[Nodejs-Ordnerpfad] \ node_modules \ .bin <=> C: \ Programme \ nodejs \ node_modules \ .bin

SCHRITT 2: Wenn vorhanden, fahren Sie mit SCHRITT 3 fort. Wenn nicht vorhanden, führen Sie den folgenden Befehl aus: npm install -g karma

SCHRITT 3: Öffnen Sie Umgebungsvariablen und bearbeiten Sie PATH

SCHRITT 4: Fügen Sie am Ende Folgendes hinzu:

[Nodejs-Ordnerpfad] \ node_modules \ .bin; <=> "C: \ Programme \ nodejs \ node_modules \ .bin"

Melden Sie Ihre Sitzung ab und es wird sicher funktionieren.

ajaysinghdav10d
quelle
4

Abhängig von Ihrem verwendeten Verzeichnis befinden \AppData\RoamingSie sich unter Windows. Dieser Fehler liegt normalerweise daran, dass der Pfad zu den npm-Globals nicht in den Windows- PATHoder NODE_PATHUmgebungsvariablen enthalten ist.

Verwenden SETSie diese Option , um die Werte zu überprüfen, die Sie für die Pfade verwenden. Wenn Ihr npm-Verzeichnis nicht aufgeführt ist, ist dies das Problem.

Wenn Sie nicht möchten, dass npm in diesem Verzeichnis gespeichert wird , überprüfen Sie die Konfigurationsoptionen für npm und die Dokumente für npm-Ordner, um festzustellen , was Sie in dieser Hinsicht ändern können ...

Matthew Bakaitis
quelle
Ich habe bereits versucht, die npm mit dem folgenden Befehl zum Pfad hinzuzufügen: "set PATH =" C: \ Benutzer \ Liad \ AppData \ Roaming \ npm;% PATH% ", aber immer noch nichts. Können Sie mir sagen, wo sich der genaue Ort befindet? Ihre Karma-Hinrichtungsdatei?
Liad Livnat
Auf meinem Windows-System habe ich npm eingestellt C:\npm. Einige der Windows-Aufgaben, die ich mache, sind unter XP, bei denen Probleme mit der Pfadlänge auftreten. Daher wollte ich den Gesamtpfad so kurz wie möglich halten. Wenn Sie mit XP arbeiten, kann dies ein Faktor sein ... und möglicherweise auch mit neueren Windows-Versionen (???).
Matthew Bakaitis
2

'Karma' wird nicht als interner oder externer Befehl, bedienbares Programm oder Batch-Datei erkannt.

Wenn die oben genannte Lösung nicht funktioniert, ist die Ursache des Problems die vorherige Version von nodejs. Deinstallieren Sie also die vorherige Version von nodejs und installieren Sie die neueste Version erneut. Es wird Ihr Problem beheben. Da ich vor dem gleichen Problem stand und die oben genannten Änderungen vorgenommen habe, hat es für mich funktioniert.

Vielen Dank.

Neha
quelle
-1

Ich hatte das gleiche 'karma' is not recognized as an internal or external command, operable program or batch file.Problem, als ich versuchte, es direkt in meiner Projektdatei zu installieren. Als ich früher npm install -g karma-cliglobal installiert habe, hat alles gut funktioniert.

user8082924
quelle