Uruchomienie karmy po instalacji powoduje, że „karma” nie jest rozpoznawana jako polecenie wewnętrzne ani zewnętrzne

108

Po zainstalowaniu karmy próbuję uruchomić karmę jako część projektu kątowego ziarna

npm install -g karma

Dostaję:

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

kiedy próbuję uruchomić test.bat z angular-client \ scripts, zawartość tego pliku to:

ustaw BASE_DIR =% ~ dp0

karma start "% BASE_DIR% .. \ config \ karma.conf.js"% *

Próbowałem również przejść do „\ AppData \ Roaming \ npm \ node_modules \ karma \ bin” i zobaczyłem plik karma, gdy próbuję go uruchomić, otrzymuję ponownie:

„karma” nie jest rozpoznawana jako polecenie wewnętrzne lub zewnętrzne, program operacyjny lub plik wsadowy.

Jakieś sugestie? Jeśli nie, zasugeruj, jak używać jaśminu bez karmy.

Dzięki.

Liad Livnat
źródło
2
Spróbujnpm install karma -g
Siva Tumma,
@lior karma jest synonimem dla karma-runner, więc jest automatycznie mapowany podczas edycji.
Flexo
@Flexo, dzięki. Nie wiedziałem tego, ale uważam, że musi to być również specyficzne dla tagu, tak jak html będzie zawierał html5 (może?) Lub nawet html5-canvas
Lior Elrom

Odpowiedzi:

319

Interfejs wiersza poleceń znajduje się w osobnym pakiecie.

Aby zainstalować to użycie:

npm install -g karma-cli

MrCheese
źródło
17
Człowieku, oni naprawdę nie aktualizują tych dokumentów: / karma-runner.github.io/0.8/intro/installation.html (jak 3 lata po tej odpowiedzi, doktorzy mówią, npm install -g karma && karma startże nie działa).
Przestań oczerniać Monikę Cellio
2
Dokumenty @sequoiamcdowell dla Karma są wersjonowane, nie zobaczysz żadnych aktualizacji dla starej wersji. Sprawdź dokumentację ostatniego wydania karma-runner.github.io/0.12/intro/installation.html
pkozlowski.opensource
upewnij się, że uruchamiasz to jako administrator
Jerry
1
Nie mogę uwierzyć, że to prześlizguje się przez pęknięcia
Cody
Spędziłem co najmniej godzinę szukając rozwiązania. Myślałem, że to problem z frameworkiem .net. To rozwiązanie będzie działać nawet wtedy, gdy pojawi się błąd platformy .net: „MSBUILD: błąd MSB3428: nie można załadować składnika Visual C ++„ VCBuild.exe ”. Aby to naprawić, 1) zainstaluj pakiet .NET Framew ork 2.0 SDK, 2) zainstaluj Microsoft Visual Studio 2005 lub 3) dodaj lokalizację komponentu do ścieżki systemowej, jeśli jest zainstalowany gdzie indziej. ” Na szczęście znalazłem twoje rozwiązanie i mam załadowaną karmę. Dziękuję Ci!
ThinkBonobo
17

karma-cli

Zalecane jest zainstalowanie karmy z interfejsem wiersza poleceń ( karma-cli ), który zadba o pobranie odpowiedniej karmy. Możesz także zainstalować inną wersję lokalną, specyficzną dla każdego projektu, nad którym pracujesz, a karma-cli wybierze odpowiednią.

Ze strony instalacji karmy :

Wpisywanie ./node_modules/karma/bin/karma start jest do bani, więc może się przydać globalne zainstalowanie karma-cli:

npm install -g karma-cli

Teraz sprawdź, czy karma została zainstalowana, wpisując:

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

i sprawdź, czy serwer karmy działa (ctr + c, aby wyjść):

karma start 

Możesz również sprawdzić, czy karma została zainstalowana, przechodząc do tego katalogu:

cd /usr/local/lib/node_modules/karma

Powodzenia!

Lior Elrom
źródło
7

W systemie Windows podczas instalowania npm (nieglobalnie - czyli bez -gflagi), polecenia wykonywalne są połączone w node_modules\.binfolderze.

Na przykład:

powershell> .\node_modules\.bin\karma start

powershell> .\node_modules\.bin\karma run

Alexander Williamson
źródło
Otrzymywałem dodatkowe błędy związane z uprawnieniami, robiąc to w ten sposób, więc musiałem uruchomić rzeczywisty plik cmd .\node_modules\.bin\karma.cmd starti to zadziałało
Nick Tallents
6

Miałem ten sam problem i naprawiłem go, poprawiając zmienną środowiskową PATH.

KROK 1: idź na następną ścieżkę i upewnij się, że karma.cmd znajduje się w podanej poniżej lokalizacji

[Ścieżka do folderu Nodejs] \ node_modules \ .bin <=> C: \ Program Files \ nodejs \ node_modules \ .bin

KROK 2: Jeśli jest obecny, przejdź do KROKU 3, jeśli nie jest obecny, uruchom następujące polecenie npm install -g karma

KROK 3: Otwórz zmienne środowiskowe i edytuj PATH

KROK 4: Dodaj na końcu:

[Ścieżka do folderu Nodejs] \ node_modules \ .bin; <=> „C: \ Program Files \ nodejs \ node_modules \ .bin”

Wyloguj się ze swojej sesji i na pewno zadziała.

ajaysinghdav10d
źródło
4

Opierając się na używanym katalogu, korzystasz \AppData\Roamingz systemu Windows i ten błąd jest zwykle spowodowany tym, że ścieżka do globalnych npm nie znajduje się w systemie Windows PATHlubNODE_PATH zmiennych środowiskowych.

Użyj, SETaby sprawdzić wartości, których używasz dla ścieżek, a jeśli twojego katalogu npm nie ma na liście, będzie to problem.

Jeśli nie chcesz, aby npm zapisywał w tym katalogu, sprawdź opcje konfiguracji npm i dokumenty folderów npm, aby zobaczyć, co możesz zmienić w tym zakresie ...

Matthew Bakaitis
źródło
Próbowałem już dodać npm do ścieżki za pomocą następującego polecenia "set PATH =" C: \ Users \ Liad \ AppData \ Roaming \ npm;% PATH% ", nadal nic, czy możesz mi powiedzieć, gdzie jest dokładna lokalizacja plik wykonania karmy?
Liad Livnat,
W moim systemie Windows mam ustawione npm do użycia C:\npm. Niektóre z rzeczy, które robię w systemie Windows, dotyczą XP, który ma problemy z długością ścieżki, więc chciałem, aby całkowita ścieżka była jak najkrótsza. Jeśli korzystasz z XP, może to mieć wpływ ... a może także w nowszych wersjach systemu Windows (???).
Matthew Bakaitis
2

„karma” nie jest rozpoznawana jako polecenie wewnętrzne lub zewnętrzne, program operacyjny lub plik wsadowy.

Jeśli powyższe rozwiązanie nie działa, przyczyną problemu jest poprzednia wersja nodejs. Odinstaluj więc poprzednią wersję nodejs i ponownie zainstaluj najnowszą wersję.To rozwiąże Twój problem. Ponieważ spotkałem się z tym samym i wykonując powyższe zmiany, zadziałało to dla mnie.

Dzięki.

Neha
źródło
-1

Miałem to samo: 'karma' is not recognized as an internal or external command, operable program or batch file.problem, gdy próbowałem zainstalować go bezpośrednio w pliku projektu. Kiedy używałem npm install -g karma-cliinstalacji globalnej, wszystko działało dobrze.

user8082924
źródło