Antworten:
Ich hatte den gleichen Fehler, nachdem ich ein neues Projekt erstellt hatte, den Yeoman-Winkelgenerator (Yo-Winkel).
Die Lösung für mich bestand darin, den devDependencies in packages.json "karma-jasmine" hinzuzufügen und "npm install" erneut auszuführen.
npm install karma-jasmine --save-dev
Dies löste die Fehlermeldung "Kein Anbieter für" Framework: Jasmin "!"
Ich musste den devDependencies auch einen Karma-Browser-Launcher hinzufügen, da ich die Meldung erhielt, dass kein Launcher installiert war (siehe http://karma-runner.github.io/0.10/config/browsers.html ).
npm install karma-safari-launcher --save-dev
Meine packages.json sah nach meiner Aktion so aus:
{
"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"
}
}
Ich habe die folgende Zeile in karma.conf en karma-e2e.conf geändert, um den Karma-Safari-Launcher zu verwenden:
browsers: ['Safari'],
Ich hoffe, dass dies auch für Sie funktioniert.
Error: No provider for "framework:karma-chrome-launcher"!
danach
Wie @Taco sagte, besteht die Standardlösung für dieses Problem darin, das entsprechende Plugin wie folgt zu installieren: npm install karma-jasmine --save-dev
oder : npm install karma-mocha --save-dev
.
Dieser Fehler wird jedoch auch erwartet, wenn Sie eine alte Version von karma-cli
ausführen, da diese die Art und Weise aktualisiert hat, wie Karma die Plugins lädt. Führen Sie Folgendes aus, um sicherzustellen, dass Sie über die neueste Version verfügen:
npm install -g karma-cli
npm install -g karma
ist das nicht dasselbe wie npm install -g karma-cli
.
npm install -g karma
es vielleicht, aber das funktioniert NICHT. Sie müssen verwendennpm install -g karma-cli
Mein Problem war in meiner karma.config.js
Datei:
plugins: [require("karma-webpack")]
Dies führte dazu, dass die anderen karma-*
Plugins nicht geladen wurden, einschließlich karma-jasmine
.
karma-webpack
meine war schon in package.json
‚s devDependencies
, sagte ich dieses heraus plugins
in meinem Eintrag karma.config.js
Datei.
Wenn Sie karma.conf.js
ein plugins
Attribut angeben , müssen Sie karma-jasmine
es der Liste hinzufügen . Wenn allen Plugins das Präfix vorangestellt ist karma-
, müssen Sie dieses Attribut nicht angeben, da die Plugins automatisch geladen werden.
plugins: ['karma-jasmine', 'karma-chrome-launcher', 'karma-spec-reporter', 'karma-coverage'],
Es ist mir passiert, weil ich Karma global installiert hatte und als ich den Karma-Startbefehl ausführte, lief er tatsächlich in / usr / ... und nicht in meinem Entwicklerverzeichnis.
In meinem Fall bestand die Lösung darin, Karma zu entfernen und stattdessen Karma-Cli zu installieren.
npm remove -g karma
npm install -g karma-cli
npm install karma-chrome-launcher --save-dev