web-dev-qa-db-ja.com

エラー:「framework:jasmine」のプロバイダーがありません! (解決:framework:jasmine)

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を使用して続行します。

したがって、この問題は解決されません。

55
HelloWorld

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)

84
grant

私にとっては、カルマクライアントをグローバルにインストールしていませんでした。

npm install -g karma-cli

73
Ken

そして、私のようなKarmaにまだまだ慣れていない人のために、プラグインをkarma.conf.jsファイルに追加したことを忘れないでください。これらの他の提案された修正のほとんどを実行した後、最終的に私に発生しました:(

module.exports = function (config) {
  config.set({
    basePath: '',

    plugins: [
      'karma-chrome-launcher',
      'karma-jasmine'
    ],
...

この質問が今ではかなり古く、発信者がまだそれを監視しているようには見えないが、これが誰かの助けになることを願っています。 )

11
idclaar

誰かstillがこのエラーを受け取った場合に備えて、返信を追加します。

Karma-cli(karma start)はエラー: "framework:jasmine"のプロバイダーがありません!(解決:framework:jasmine)は次のいずれかの理由で与えられます:

  1. Karma-jasmineノードモジュールをまだインストールしておらず、package.jsonのdevDependenciesセクションにリストされていない

ソリューションnpm install -D karma-jasmine

  1. Karma.config.jsファイルに「plugins」プロパティ配列がありますが、この配列には「karma-jasmine」に関する記述がありません。

ソリューション:karma.config.jsのプラグインに「karma-jasmine」を追加するか、可能であればこの「plugins」プロパティ全体を削除します。

plugins:['karma-jasmine']

  1. 'karma-cli'のグローバルインストールがあり、'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を実行します。

7
Praym

私はまったく同じ問題に苦労しました。調査した後、カルマが '/ usr /'ディレクトリをベースフォルダとしてグローバルに実行していることに気付きました。

私のために働いた解決策は、カルマをカルマクリで置き換えることでした:

npm remove -g karma
npm install -g karma-cli
6

Karma-spec-reporterを使用し、次のエラーが表示される場合:「エラー:「framework:jasmine」のプロバイダーがありません!(解決:framework:jasmine)」

Karma.conf.jsで、「plugins:["karma-spec-reporter"]」を削除すると、エラーが消えます。

2
marrion luaka

Githubの主なバグリクエストは次のとおりです https://github.com/yeoman/generator-angular/issues/629

これによると、問題はこれらの2つの拡張機能をデフォルトで含むために使用されていたカルマジェネレーターにあります。

1
beauXjames

そして、私にとっては、世界的にカルマジャスミンを持っていませんでした。

npm install -g karma-jasmine

ここで説明されているように: angularjs phonecatチュートリアルを実行しているKarmaサーブの「プロバイダーエラーなし」

0
caioverissimo

npm i -D @ types/es6-promise @ types/es6-collections

0
Davem M