Немає постачальника для "фреймворку: жасмін"! (Вирішення: фреймворк: жасмін)


98

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

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

Хтось знає, як вирішити це питання?

Відповіді:


181

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

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

npm install karma-jasmine --save-dev

Це вирішило повідомлення про помилку "Немає провайдера для" Framework: жасмін "!"

Мені також довелося додати запуск браузера карми до devDependitions, оскільки я отримав повідомлення про те, що не запущено пускову установку (див. 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
Дякую! Єдине, що я робив по-іншому, це те, що я використовував хромnpm install karma-chrome-launcher --save-dev
Лучано

1
@KyleHayes Ось звіт про помилки в проекті генератора-кутова: github.com/yeoman/generator-angular/isissue/629
cjerdonek

1
Я потрапив Error: No provider for "framework:karma-chrome-launcher"!після цього
Девід

1
Якщо у вас є плагіни: [...] додано до karma.config.js, встановлення карми-жасмину не вирішить проблему. ви повинні додати 'karma-jasmine' до масиву плагінів, як плагіни: ['karma-jasmine'].
Thaadikkaaran

Згідно з моїм розумінням, "npm install karma-jasmine --save-dev" не впливав на package.json. Тож дякую за це рішення.
Енді

37

За словами @Taco, рішення за замовчуванням для цієї проблеми є установка відповідного плагіна, наприклад: npm install karma-jasmine --save-devчи це: npm install karma-mocha --save-dev.

Однак ця помилка також очікується під час запуску старої версії, karma-cliоскільки вони оновили спосіб карми завантажувати плагіни. Щоб переконатися, що у вас є остання версія, запустіть цю функцію

npm install -g karma-cli

1
Це зафіксувало це для мене. У мене були раніше згадані залежності, але карма-клі була застарілою, мабуть.
icfantv

1
Це вирішило мою проблему. Спасибі
приятелю

1
Я теж наткнувся на це. Очевидно, npm install -g karmaце не те саме, що npm install -g karma-cli.
Пітер Маджед

@PeterMajeed Після встановлення Jasmine я подумав, що, можливо, можу, npm install -g karmaале це НЕ працює. Ви повинні використовуватиnpm install -g karma-cli
Coburn

34

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

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

Це спричинило завантаження інших karma-*плагінів, що включає karma-jasmine.


1
aleclarson's також була моєю проблемою. Так karma-webpackвже було в моїх package.json«з devDependencies, я коментував цю pluginsзапис в моєму karma.config.jsфайлі.
dave_k_smith

31

Якщо ваш karma.conf.jsвказує pluginsатрибут, обов'язково додайте karma-jasmineйого до списку. Якщо всі плагіни мають префікс karma-, вам не потрібно вказувати цей атрибут, оскільки додатки будуть автоматично завантажені.


6
Дякую, це вирішило мою проблему, додавши до плагінів карму-жасмін!
пісок

Завдяки цьому працювали - це повний рядок. plugins: ['karma-jasmine', 'karma-chrome-launcher', 'karma-spec-reporter', 'karma-coverage'],
Сем Дерінг

6

Це сталося зі мною, тому що у мене була встановлена ​​Карма в усьому світі, і коли я запустив команду start karma, він фактично запускався в / usr / ..., а не в моєму каталозі Dev.

У моєму випадку рішенням було видалити карму та встановити натомість карму-клі.

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

2

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


Це саме те, що я шукав (пропав).
vivekmore
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.