回答:
ヨーマン角度ジェネレーター(yo angular)の新しいプロジェクトを作成した後も、同じエラーが発生しました。
私の解決策は、packages.jsonのdevDependenciesに「karma-jasmine」を追加し、「npm install」を再度実行することでした。
npm install karma-jasmine --save-dev
これにより、「「framework:jasmine」のプロバイダーがありません!」というエラーメッセージが解決されました。
ランチャーがインストールされていないというメッセージが表示されたため、karmaブラウザーランチャーをdevDependenciesに追加する必要もありました(http://karma-runner.github.io/0.10/config/browsers.htmlを参照)。
npm install karma-safari-launcher --save-dev
私のpackages.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-safari-launcherを使用するように、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'],
Karmaをグローバルにインストールしていて、karma startコマンドを実行すると、実際にはdevディレクトリーではなく/ usr / ...で実行されたため、このようなことが起こりました。
私の場合、解決策はkarmaを削除して、代わりにkarma-cliをインストールすることでした。
npm remove -g karma
npm install -g karma-cli
npm install karma-chrome-launcher --save-dev