Ошибка: нет провайдера для "рамки: жасмин"! (Разрешение: каркас: жасмин)
Я запустил консоль Windows:
npm install -g yo grunt-cli bower
npm install -g generator-angular
yo angular
Затем я начал свой проект с помощью webstorm и щелкнул правой кнопкой мыши файл karma.conf.js в проводнике проекта, где у меня есть пункт меню "Запустить karma.conf.js" и запустите бегун кармы. Затем я получаю его исключение:
...\app\node_modules\karma\node_modules\di\lib\injector.js:9
throw error('No provider for "' + name + '"!');
^
Error: No provider for "framework:jasmine"! (Resolving: framework:jasmine)
Затем в консоли, которую я прочитал, я также могу использовать --force, поэтому я попробовал: grunt -force
Потребовалось некоторое время, но, похоже, ошибок больше не было. Heck почему -force устанавливает провайдера??? ЭТО было ИСПЫТАНИЕ в CMD.
теперь работает grunt, и он начал мой браузер с помощью стартового приложения.
Итак, что было --force, что "Ошибка: нет провайдера для" рамки: жасмин "! (Разрешение: рамки: жасмин) 'ушло?
Когда я ворчу в IDE webstrom, я снова получаю:
Предупреждение: нет провайдера для "рамки: жасмин"! (Разрешение: рамки: жасмин) Используйте -force для продолжения.
Итак, эта проблема не решена.
Ответы
Ответ 1
Grunt --force работает, потому что вы говорите ему обходить тесты кармы. Обратите внимание, если вы запустите grunt -force, он все равно скажет "Готово, но с предупреждениями".
Чтобы исправить:
добавьте "karma-jasmine" и "karma-chrome-launcher" (или любую используемую вами пусковую установку) в devDependencies в пакетах .json и снова запустите npm.
npm install karma-jasmine --save-dev
npm install karma-chrome-launcher --save-dev
Это спасет карма-жасмин и карма-хром-пусковую установку в файле project.json проекта. Затем пакеты можно установить, выполнив:
npm install
Источник: Нет провайдера для "рамки: жасмин" . (Разрешение: рамки: жасмин)
Ответ 2
для меня у меня не было клиента кармы, установленного по всему миру.
npm install -g karma-cli
Ответ 3
И для тех, кто еще достаточно для Кармы (как и я), не забудьте убедиться, что вы добавили плагин в свой файл karma.conf.js. Наконец, мне пришло в голову выполнить большинство из этих предлагаемых исправлений: (
module.exports = function (config) {
config.set({
basePath: '',
plugins: [
'karma-chrome-launcher',
'karma-jasmine'
],
...
Надеюсь, что это поможет кому-то там, хотя этот вопрос сейчас довольно древний и, похоже, автор не отслеживает его; )
Ответ 4
Я боролся с той же проблемой. После изучения я понял, что карма работает глобально, используя каталог "/usr/" в качестве базовой папки.
Решение, которое работало для меня, заключалось в том, чтобы заменить карму карма-кли:
npm remove -g karma
npm install -g karma-cli
Ответ 5
Для тех из вас, кто использует корреспондент кармы и получает эту ошибку:
"Ошибка: нет провайдера для" рамки: жасмин "! (Разрешение: рамки: жасмин)"
В вашем файле karma.conf.js удалите: "плагины: [" karma-spec-reporter "]" и ошибка должна исчезнуть.
Ответ 6
Вот основной запрос ошибки на github
https://github.com/yeoman/generator-angular/issues/629
В соответствии с этим проблема связана с карма-генератором, в котором используются по умолчанию эти 2 расширения и больше не выполняются.
Ответ 7
Добавление ответа в случае, если кто-то еще получит эту ошибку.
Карма-кли (karma start
) даст
Ошибка: нет провайдера для "рамки: жасмин"! (Разрешение: структура: жасмин) по одной из следующих причин:
- Вы еще не установили модуль karma-jasmine node и его не указали в разделе devDependencies в вашем пакете. json
Решение: npm install -D karma-jasmine
- У вас есть массив свойств plugins в файле karma.config.js, но в этом массиве нет упоминания о "карма-жасмине".
Решение: добавьте 'karma-jasmine' к плагинам в файле karma.config.js или, если это возможно, избавиться от всего этого свойства плагинов.
plugins:['karma-jasmine']
- У вас есть глобальная установка "karma-cli", и когда вы делаете
'karma start'
, карма пытается найти модуль кармы-жасмина в глобальной области.
Проверьте список глобальных установленных модулей, используя: npm list -g --depth=0
.
Решение. Либо установите карма-жасмин в глобальной области с помощью 'npm install -g karma-jasmine'
, либо удалите карму из глобальной области действия и установите ее в локальную область проекта. В более позднем случае вам придется добавить следующее в package.json:
"scripts" {
"test": "karma start"
}
и запустите карму с помощью команды 'npm run test'
или 'npm test'
.
Ответ 8
И для меня у меня не было карма-жасмина во всем мире.
npm install -g karma-jasmine
как описано здесь: "Нет ошибки поставщика" на Karma служат для запуска angularjs phonecat tutorial
Ответ 9
npm я -D @types/es6-prom @types/es6-collections