Відповіді:
У мене була така ж помилка після створення нового проекту кутового генератора 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'],
Сподіваюся, це теж спрацює і для вас.
Error: No provider for "framework:karma-chrome-launcher"!
після цього
За словами @Taco, рішення за замовчуванням для цієї проблеми є установка відповідного плагіна, наприклад: npm install karma-jasmine --save-dev
чи це: npm install karma-mocha --save-dev
.
Однак ця помилка також очікується під час запуску старої версії, karma-cli
оскільки вони оновили спосіб карми завантажувати плагіни. Щоб переконатися, що у вас є остання версія, запустіть цю функцію
npm install -g karma-cli
npm install -g karma
це не те саме, що npm install -g karma-cli
.
npm install -g karma
але це НЕ працює. Ви повинні використовуватиnpm install -g karma-cli
Моя проблема була в моєму karma.config.js
файлі:
plugins: [require("karma-webpack")]
Це спричинило завантаження інших karma-*
плагінів, що включає karma-jasmine
.
karma-webpack
вже було в моїх package.json
«з devDependencies
, я коментував цю plugins
запис в моєму karma.config.js
файлі.
Якщо ваш karma.conf.js
вказує plugins
атрибут, обов'язково додайте karma-jasmine
його до списку. Якщо всі плагіни мають префікс karma-
, вам не потрібно вказувати цей атрибут, оскільки додатки будуть автоматично завантажені.
plugins: ['karma-jasmine', 'karma-chrome-launcher', 'karma-spec-reporter', 'karma-coverage'],
Це сталося зі мною, тому що у мене була встановлена Карма в усьому світі, і коли я запустив команду start karma, він фактично запускався в / usr / ..., а не в моєму каталозі Dev.
У моєму випадку рішенням було видалити карму та встановити натомість карму-клі.
npm remove -g karma
npm install -g karma-cli
npm install karma-chrome-launcher --save-dev