Odpowiedzi:
Miałem ten sam błąd po utworzeniu nowego projektu generatora kątowego yeoman (yo angular).
Rozwiązaniem dla mnie było dodanie "karma-jasmine" do devDependencies w packages.json i ponowne uruchomienie "npm install".
npm install karma-jasmine --save-dev
To rozwiązało komunikat o błędzie „Brak dostawcy dla„ framework: jaśmin ”!”
Musiałem również dodać program uruchamiający przeglądarkę karma do devDependencies, ponieważ otrzymałem komunikat, że żaden program uruchamiający nie został zainstalowany (patrz http://karma-runner.github.io/0.10/config/browsers.html ).
npm install karma-safari-launcher --save-dev
Moje packages.json wyglądały tak po wykonaniu mojej akcji:
{
"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"
}
}
Zmieniłem następującą linię w karma.conf en karma-e2e.conf, aby używać karma-safari-launcher:
browsers: ['Safari'],
Mam nadzieję, że to też zadziała.
Error: No provider for "framework:karma-chrome-launcher"!
po tym
Jak powiedział @Taco domyślnym rozwiązaniem tego problemu jest zainstalowanie odpowiedniej wtyczki, takie jak to: npm install karma-jasmine --save-dev
czy to: npm install karma-mocha --save-dev
.
Jednak ten błąd jest również oczekiwany, gdy używasz starej wersji programu, karma-cli
ponieważ zaktualizowała sposób, w jaki karma ładuje wtyczki. Aby upewnić się, że masz najnowszą wersję, uruchom to:
npm install -g karma-cli
npm install -g karma
to nie to samo co npm install -g karma-cli
.
npm install -g karma
ale to NIE działa. Musisz użyćnpm install -g karma-cli
Mój problem był w moim karma.config.js
pliku:
plugins: [require("karma-webpack")]
To spowodowało, że inne karma-*
wtyczki nie zostały załadowane, w tym karma-jasmine
.
karma-webpack
był już w moich package.json
„s devDependencies
, ja wykomentowane ten plugins
wpis w moim karma.config.js
pliku.
Jeśli twój karma.conf.js
określa plugins
atrybut, pamiętaj, aby dodać karma-jasmine
go do listy. Jeśli wszystkie wtyczki mają prefiks karma-
, nie musisz określać tego atrybutu, ponieważ wtyczki będą ładowane automatycznie.
plugins: ['karma-jasmine', 'karma-chrome-launcher', 'karma-spec-reporter', 'karma-coverage'],
Zdarzyło mi się to, ponieważ miałem zainstalowaną Karmę globalnie, a kiedy uruchomiłem polecenie uruchomienia karmy, faktycznie działało w / usr / ... zamiast w moim katalogu dev.
W moim przypadku rozwiązaniem było usunięcie karmy i zainstalowanie zamiast niej karma-cli.
npm remove -g karma
npm install -g karma-cli
Moim problemem był wybrany „pakiet Karma” w konfiguracji uruchamiania IntelliJ. Nie wybrałem pakietu karma projektu w folderze „node_module” projektu:
npm install karma-chrome-launcher --save-dev