Подтвердить что ты не робот

Ошибка: нет провайдера для "рамки: жасмин"! (Разрешение: каркас: жасмин)

Я запустил консоль 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 для продолжения.

Итак, эта проблема не решена.

4b9b3361

Ответ 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

  1. У вас есть массив свойств plugins в файле karma.config.js, но в этом массиве нет упоминания о "карма-жасмине".

Решение: добавьте 'karma-jasmine' к плагинам в файле karma.config.js или, если это возможно, избавиться от всего этого свойства плагинов.

plugins:['karma-jasmine']

  1. У вас есть глобальная установка "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'.

Ответ 9

npm я -D @types/es6-prom @types/es6-collections