Risposte:
Ho avuto lo stesso errore dopo aver creato un nuovo progetto il generatore angolare yeoman (yo angular).
La soluzione per me è stata l'aggiunta di "karma-jasmine" a devDependencies in packages.json ed eseguire nuovamente "npm install".
npm install karma-jasmine --save-dev
Questo ha risolto il messaggio di errore "Nessun provider per" framework: jasmine "!"
Ho anche dovuto aggiungere un launcher del browser karma a devDependencies, poiché ho ricevuto il messaggio che non era installato alcun launcher (vedi http://karma-runner.github.io/0.10/config/browsers.html ).
npm install karma-safari-launcher --save-dev
Il mio packages.json appariva così dopo la mia azione:
{
"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"
}
}
Ho cambiato la seguente riga in karma.conf en karma-e2e.conf per utilizzare il karma-safari-launcher:
browsers: ['Safari'],
Spero che funzioni anche per te.
Error: No provider for "framework:karma-chrome-launcher"!
dopo questo
Come ha detto @Taco, la soluzione predefinita per questo problema è l'installazione del plugin del caso, in questo modo: npm install karma-jasmine --save-dev
o questo: npm install karma-mocha --save-dev
.
Tuttavia, questo errore è previsto anche quando si esegue una vecchia versione di karma-cli
perché hanno aggiornato il modo in cui karma carica i plugin. Per assicurarti di avere l'ultima versione, esegui questo:
npm install -g karma-cli
npm install -g karma
è la stessa cosa di . npm install -g karma-cli
npm install -g karma
ma NON funziona. Devi usarenpm install -g karma-cli
Il mio problema era nel mio karma.config.js
file:
plugins: [require("karma-webpack")]
Ciò ha causato il karma-*
mancato caricamento degli altri plugin, che include karma-jasmine
.
karma-webpack
era già nelle mie package.json
's devDependencies
, ho commentato questa plugins
voce nel mio karma.config.js
file.
Se karma.conf.js
specifichi un plugins
attributo, assicurati di aggiungerlo karma-jasmine
all'elenco. Se tutti i plugin hanno il prefisso karma-
, non è necessario specificare questo attributo poiché i plugin verranno caricati automaticamente.
plugins: ['karma-jasmine', 'karma-chrome-launcher', 'karma-spec-reporter', 'karma-coverage'],
Mi è successo perché avevo Karma installato a livello globale, e quando ho eseguito il comando karma start, in realtà è stato eseguito in / usr / ... anziché nella mia directory dev.
Nel mio caso la soluzione era rimuovere il karma e installare invece karma-cli.
npm remove -g karma
npm install -g karma-cli
npm install karma-chrome-launcher --save-dev