Windowsコンソールで実行しました:
npm install -g yo grunt-cli bower
npm install -g generator-angular
yo angular
次に、webstormでプロジェクトを開始し、プロジェクトエクスプローラーでkarma.conf.jsファイルを右クリックしました。このファイルにはメニュー項目「Run karma.conf.js」があり、karmaランナーを開始しました。その後、私は彼の例外を取得します。
...\app\node_modules\karma\node_modules\di\lib\injector.js:9
throw error('No provider for "' + name + '"!');
^
Error: No provider for "framework:jasmine"! (Resolving: framework:jasmine)
次に、コンソールで--forceを使用することもできますので、試してみました:grunt --force
少し時間がかかりましたが、エラーはもうないようです。なんで-プロバイダを強制的にインストールするのですか????これはCMDでテストされました。
grunt serveが動作し、起動アプリでブラウザが起動しました。
つまり、-「framework:jasmine」のプロバイダーがありません!(解決:framework:jasmine)がなくなったことを強制しましたか?
Webstromでうなり声を上げるとIDE
警告:「framework:jasmine」のプロバイダーはありません! (解決:framework:jasmine)--forceを使用して続行します。
したがって、この問題は解決されません。
Grunt --forceは、カルマテストをバイパスするように指示しているため機能します。 grunt --forceを実行すると、「Done、but warnings」と表示されます。
修正するには: "karma-jasmine"および "karma-chrome-launcher"(または使用するランチャー)をpackages.jsonのdevDependenciesに追加し、npm installを再度実行します。
npm install karma-jasmine --save-dev
npm install karma-chrome-launcher --save-dev
これにより、karma-jasmineとkarma-chrome-launcherがプロジェクトのpackage.jsonファイルに保存されます。その後、次を実行してパッケージをインストールできます。
npm install
ソース: 「framework:jasmine」のプロバイダーはありません!(解決:framework:jasmine)
私にとっては、カルマクライアントをグローバルにインストールしていませんでした。
npm install -g karma-cli
そして、私のようなKarmaにまだまだ慣れていない人のために、プラグインをkarma.conf.jsファイルに追加したことを忘れないでください。これらの他の提案された修正のほとんどを実行した後、最終的に私に発生しました:(
module.exports = function (config) {
config.set({
basePath: '',
plugins: [
'karma-chrome-launcher',
'karma-jasmine'
],
...
この質問が今ではかなり古く、発信者がまだそれを監視しているようには見えないが、これが誰かの助けになることを願っています。 )
誰かstillがこのエラーを受け取った場合に備えて、返信を追加します。
Karma-cli(karma start
)はエラー: "framework:jasmine"のプロバイダーがありません!(解決:framework:jasmine)は次のいずれかの理由で与えられます:
ソリューション:npm install -D karma-jasmine
ソリューション:karma.config.jsのプラグインに「karma-jasmine」を追加するか、可能であればこの「plugins」プロパティ全体を削除します。
plugins:['karma-jasmine']
'karma start'
を実行すると、karmaはグローバルスコープでkarma-jasmineモジュールを見つけようとします。 npm list -g --depth=0
を使用して、グローバルにインストールされたモジュールのリストを確認します。ソリューション:'npm install -g karma-jasmine'
を使用してkarma-jasmineをグローバルスコープにもインストールするか、グローバルスコープからkarmaを削除してローカルプロジェクトスコープにインストールします。後の場合、package.jsonに以下を追加する必要があります。
"scripts" {
"test": "karma start"
}
コマンド'npm run test'
または'npm test'
を使用してkarmaを実行します。
私はまったく同じ問題に苦労しました。調査した後、カルマが '/ usr /'ディレクトリをベースフォルダとしてグローバルに実行していることに気付きました。
私のために働いた解決策は、カルマをカルマクリで置き換えることでした:
npm remove -g karma
npm install -g karma-cli
Karma-spec-reporterを使用し、次のエラーが表示される場合:「エラー:「framework:jasmine」のプロバイダーがありません!(解決:framework:jasmine)」
Karma.conf.jsで、「plugins:["karma-spec-reporter"]」を削除すると、エラーが消えます。
Githubの主なバグリクエストは次のとおりです https://github.com/yeoman/generator-angular/issues/629
これによると、問題はこれらの2つの拡張機能をデフォルトで含むために使用されていたカルマジェネレーターにあります。
そして、私にとっては、世界的にカルマジャスミンを持っていませんでした。
npm install -g karma-jasmine
ここで説明されているように: angularjs phonecatチュートリアルを実行しているKarmaサーブの「プロバイダーエラーなし」
npm i -D @ types/es6-promise @ types/es6-collections