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

Когда я запускаю команду grunt, я получаю следующее предупреждение:

Running "karma:unit" (karma) task
Warning: No provider for "framework:jasmine"! (Resolving: framework:jasmine) Use --force to continue.

Кто-нибудь знает, как решить эту проблему?

Ответ 1

У меня была такая же ошибка после создания нового проекта генератор yoman angular (yo angular).

Решение для меня добавляло "карма-жасмин" в devDependencies в пакетах .json и снова запускало "npm install".

npm install karma-jasmine --save-dev

Это решило сообщение об ошибке "Нет провайдера для" рамки: жасмин "!"

Мне также пришлось добавить браузер-браузер для dev-зависимостей, так как я получил сообщение о том, что не установлена ​​пусковая установка (см. http://karma-runner.github.io/0.10/config/browsers.html).

npm install karma-safari-launcher --save-dev

Мои пакеты .json выглядели так после моего действия:

{
  "name": "test1",
  "version": "0.0.0",
  "dependencies": {},
  "devDependencies": {
    "grunt": "~0.4.1",
    "grunt-autoprefixer": "~0.4.0",
    "grunt-bower-install": "~0.7.0",
    "grunt-concurrent": "~0.4.1",
    "grunt-contrib-clean": "~0.5.0",
    "grunt-contrib-coffee": "~0.7.0",
    "grunt-contrib-compass": "~0.6.0",
    "grunt-contrib-concat": "~0.3.0",
    "grunt-contrib-connect": "~0.5.0",
    "grunt-contrib-copy": "~0.4.1",
    "grunt-contrib-cssmin": "~0.7.0",
    "grunt-contrib-htmlmin": "~0.1.3",
    "grunt-contrib-imagemin": "~0.3.0",
    "grunt-contrib-jshint": "~0.7.1",
    "grunt-contrib-uglify": "~0.2.0",
    "grunt-contrib-watch": "~0.5.2",
    "grunt-google-cdn": "~0.2.0",
    "grunt-newer": "~0.5.4",
    "grunt-ngmin": "~0.0.2",
    "grunt-rev": "~0.1.0",
    "grunt-svgmin": "~0.2.0",
    "grunt-usemin": "~2.0.0",
    "jshint-stylish": "~0.1.3",
    "load-grunt-tasks": "~0.2.0",
    "time-grunt": "~0.2.1",
    "karma-ng-scenario": "^0.1.0",
    "grunt-karma": "^0.8.0",
    "karma": "^0.12.0",
    "karma-jasmine": "~0.2.2",
    "karma-safari-launcher": "~0.1.1",
    "karma-ng-html2js-preprocessor": "^0.1.0"
  },
  "engines": {
    "node": ">=0.8.0"
  },
  "scripts": {
    "test": "grunt test"
  }
}

Я изменил следующую строку в файле karma.conf en karma-e2e.conf, чтобы использовать средство запуска карма-сафари:

browsers: ['Safari'],

Я надеюсь, что это тоже сработает для вас.

Ответ 2

Как сказал @Taco, решение по умолчанию для этой проблемы - установить соответствующий плагин, например: npm install karma-jasmine --save-dev или это: npm install karma-mocha --save-dev.

Однако эта ошибка также ожидается при запуске старой версии karma-cli, потому что они обновили способ загрузки карм карма. Чтобы убедиться, что у вас установлена ​​последняя версия, выполните следующую команду:

npm install -g karma-cli

Ответ 3

Моя проблема была в моем karma.config.js файле:

plugins: [require("karma-webpack")]

Это заставило другие плагины karma-* не загружаться, в том числе karma-jasmine.

Ответ 4

Если ваш karma.conf.js указывает атрибут plugins, обязательно добавьте karma-jasmine в список. Если все плагины имеют префикс karma-, вам не нужно указывать этот атрибут, поскольку плагины будут автоматически загружены.

Ответ 5

Это случилось со мной, потому что у меня была карма, установленная глобально, и когда я запускал команду запуска кармы, она фактически запускалась в /usr/... а не в моем каталоге dev.

В моем случае решение заключалось в том, чтобы удалить карму и вместо этого установить karma-cli.

npm remove -g karma
npm install -g karma-cli

Ответ 6

Моей проблемой был выбран "пакет Karma" в конфигурации запуска IntelliJ. Я не выбрал пакет кармы проекта в папке проекта "node_module": введите описание изображения здесь