Réponses:
J'ai eu la même erreur après avoir créé un nouveau projet le générateur angulaire yeoman (yo angular).
La solution pour moi était d'ajouter "karma-jasmine" aux devDependencies dans packages.json et de relancer "npm install".
npm install karma-jasmine --save-dev
Cela a résolu le message d'erreur "Aucun fournisseur pour" framework: jasmine "!"
J'ai également dû ajouter un lanceur de navigateur karma à devDependencies, car j'ai reçu le message qu'aucun lanceur n'était installé (voir http://karma-runner.github.io/0.10/config/browsers.html ).
npm install karma-safari-launcher --save-dev
Mon packages.json ressemblait à ceci après mon action:
{
"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"
}
}
J'ai changé la ligne suivante dans karma.conf en karma-e2e.conf pour utiliser le karma-safari-launcher:
browsers: ['Safari'],
J'espère que cela fonctionnera pour vous aussi.
Error: No provider for "framework:karma-chrome-launcher"!
après ça
Comme l'a dit @Taco, la solution par défaut pour ce problème est d' installer le plug - in approprié, comme ceci: npm install karma-jasmine --save-dev
ou ceci: npm install karma-mocha --save-dev
.
Cependant, cette erreur est également attendue lorsque vous exécutez une ancienne version de karma-cli
car ils ont mis à jour la façon dont karma charge les plugins. Pour vous assurer que vous disposez de la dernière version, exécutez ceci:
npm install -g karma-cli
npm install -g karma
n'est pas la même chose que npm install -g karma-cli
.
npm install -g karma
mais cela ne fonctionne PAS. Vous devez utilisernpm install -g karma-cli
Mon problème était dans mon karma.config.js
dossier:
plugins: [require("karma-webpack")]
Cela a empêché le karma-*
chargement des autres plugins, notamment karma-jasmine
.
karma-webpack
c'était déjà dans mon package.json
's devDependencies
, j'ai commenté cette plugins
entrée dans mon karma.config.js
dossier.
Si votre karma.conf.js
spécifie un plugins
attribut, assurez-vous de l'ajouter karma-jasmine
à la liste. Si tous les plugins sont préfixés par karma-
, vous n'avez pas besoin de spécifier cet attribut car les plugins seront automatiquement chargés.
plugins: ['karma-jasmine', 'karma-chrome-launcher', 'karma-spec-reporter', 'karma-coverage'],
Cela m'est arrivé parce que Karma était installé globalement, et quand j'ai exécuté la commande karma start, il fonctionnait en fait dans / usr / ... plutôt que dans mon répertoire dev.
Dans mon cas, la solution était de supprimer le karma et d'installer karma-cli à la place.
npm remove -g karma
npm install -g karma-cli
npm install karma-chrome-launcher --save-dev