Выполнение кармы после установки приводит к "карме" не распознается как внутренняя или внешняя команда

109

Я пытаюсь запустить karma как часть проекта angular-seed после установки karma с помощью

npm install -g karma

Я получил:

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

когда я пытаюсь запустить test.bat из angular-client \ scripts, содержимое этого файла:

установить BASE_DIR =% ~ dp0

карма start "% BASE_DIR% .. \ config \ karma.conf.js"% *

Я также попытался перейти в "\ AppData \ Roaming \ npm \ node_modules \ karma \ bin" и увидел файл кармы, когда я пытаюсь его запустить, я снова получаю:

«карма» не распознается как внутренняя или внешняя команда, действующая программа или командный файл.

Какие-либо предложения? Если нет, то подскажите, пожалуйста, как использовать жасмин без кармы.

Спасибо.

Лиад Ливнат
источник
2
Попробуйnpm install karma -g
Шива Тумма
@lior karma - это синоним слова "бегун кармы", поэтому он автоматически отображается при редактировании.
Flexo
@Flexo, спасибо. Я не знал этого, но считаю, что он также должен быть специфичным для тега, например, html будет включать html5 (может быть?) Или даже html5-canvas
Лиор Элром

Ответы:

320

Интерфейс командной строки находится в отдельном пакете.

Для установки используйте:

npm install -g karma-cli

MrCheese
источник
17
Человек, они действительно не обновляют эти документы: / karma-runner.github.io/0.8/intro/installation.html (поскольку через 3 года после этого ответа в документах говорится, npm install -g karma && karma startчто не работает).
Хватит клеветать на Монику Челлио
2
Документы @sequoiamcdowell для Karma версируются, вы не увидите никаких обновлений для старой версии. Проверьте документацию на последний выпуск karma-runner.github.io/0.12/intro/installation.html
pkozlowski.opensource
не забудьте запустить это как администратор
Джерри
1
Я не могу поверить, что это проскальзывает сквозь трещины
Коди,
Я потратил как минимум час на поиск раствора. Я думал, что это проблема с .NET Framework. Это решение будет работать, даже если вы увидите ошибку .NET framework: «MSBUILD: ошибка MSB3428: не удалось загрузить компонент Visual C ++« VCBuild.exe ». Чтобы исправить это, 1) установите .NET Framew ork 2.0 SDK, 2) установить Microsoft Visual Studio 2005 или 3) добавить расположение компонента в системный путь, если он установлен в другом месте ». К счастью, я нашел ваше решение и получил нагрузку на карму. Спасибо!
ThinkBonobo,
17

карма-кли

Рекомендуется установить karma с его интерфейсом командной строки ( karma-cli ), который позаботится о получении соответствующей кармы. Вы также можете установить другую локальную версию для каждого проекта, над которым вы работаете, и karma-cli выберет подходящую.

Со страницы установки кармы :

Ввод ./node_modules/karma/bin/karma start отстой, поэтому вам может быть полезно установить karma-cli глобально:

npm install -g karma-cli

Теперь проверьте, установлена ​​ли карма, набрав:

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

и убедитесь, что сервер кармы работает (ctr + c для выхода):

karma start 

Вы также можете проверить, что карма была установлена, перейдя в этот каталог:

cd /usr/local/lib/node_modules/karma

Удачи!

Лиор Элром
источник
7

В Windows при установке npm (неглобально - без -gфлага) исполняемые команды связаны в node_modules\.binпапке.

Например:

powershell> .\node_modules\.bin\karma start

powershell> .\node_modules\.bin\karma run

Александр Вильямсон
источник
Я получал дополнительные ошибки на основе разрешений, делая это таким образом, поэтому мне пришлось запустить фактический файл cmd, .\node_modules\.bin\karma.cmd startи это сработало для меня,
Ник Талленц,
6

У меня была такая же проблема, и я исправил ее, исправив переменную среды PATH.

ШАГ 1: перейдите по следующему пути и убедитесь, что файл karma.cmd находится в указанном ниже месте.

[Путь к папке Nodejs] \ node_modules \ .bin <=> C: \ Program Files \ nodejs \ node_modules \ .bin

ШАГ 2: Если присутствует, перейдите к ШАГУ 3. Если нет, выполните следующую команду npm install -g karma

ШАГ 3: Откройте переменные среды и отредактируйте PATH

ШАГ 4: Добавьте в конце следующее:

[Путь к папке Nodejs] \ node_modules \ .bin; <=> "C: \ Program Files \ nodejs \ node_modules \ .bin"

Выйдите из сеанса, и он обязательно будет работать.

ajaysinghdav10d
источник
4

В зависимости от используемого каталога \AppData\Roamingвы работаете в Windows, и эта ошибка обычно возникает из-за того, что путь к глобальным переменным npm отсутствует в переменных Windows PATHили NODE_PATHсреды.

Используйте SETдля проверки значений, которые вы используете для путей, и если ваш каталог npm отсутствует в списке, это будет проблемой.

Если вы не хотите, чтобы npm сохранял в этот каталог, проверьте параметры конфигурации npm и документы папок npm, чтобы узнать, что вы можете изменить в этом отношении ...

Мэтью Бакайтис
источник
Я уже пытался добавить npm к пути, используя следующую команду "set PATH =" C: \ Users \ Liad \ AppData \ Roaming \ npm;% PATH% ", ну все равно ничего, вы можете сказать мне, где точное местоположение файл исполнения вашей кармы?
Лиад Ливнат
В моей системе Windows я использую npm C:\npm. Некоторые из вещей Windows, которые я делаю, находятся в XP, у которой проблемы с длиной пути, поэтому я хотел, чтобы общий путь был как можно короче. Если вы используете XP, это может быть фактором, способствующим ... и, возможно, также и в более поздних версиях Windows (???).
Мэтью Бакайтис
2

«карма» не распознается как внутренняя или внешняя команда, действующая программа или командный файл.

Если вышеуказанное решение не работает, то причиной проблемы является предыдущая версия nodejs. Поэтому удалите предыдущую версию nodejs и переустановите последнюю версию. Это решит вашу проблему. Когда я столкнулся с тем же самым, и, сделав вышеуказанные изменения, это сработало для меня.

Спасибо.

Неха
источник
1

Официальная документация на https://karma-runner.github.io/0.12/intro/installation.html сбивает с толку. Это означает, что npm install -g karma-cli предназначена для глобальной установки karma, но на самом деле она требуется для запуска karma из командной строки.

Максуд
источник
-1

У меня была такая же 'karma' is not recognized as an internal or external command, operable program or batch file.проблема : когда я пытался установить его прямо в файл проекта. Когда я использовал npm install -g karma-cliглобальную установку, все работало нормально.

user8082924
источник