Programing

오류 : "framework : jasmine"에 대한 공급자가 없습니다!

lottogame 2021. 1. 5. 07:41
반응형

오류 : "framework : jasmine"에 대한 공급자가 없습니다! (해결 : framework : jasmine)


내 Windows 콘솔에서 실행했습니다.

npm install -g yo grunt-cli bower

npm install -g generator-angular

yo angular

그런 다음 webstorm으로 프로젝트를 시작하고 'Run karma.conf.js'메뉴 항목이있는 프로젝트 탐색기에서 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

시간이 좀 걸렸지 만 더 이상 오류가없는 것 같았습니다. 도대체 왜 --force는 공급자를 설치합니까 ??? 이것은 CMD에서 테스트되었습니다.

grunt serve가 이제 작동했고 시작 앱으로 브라우저를 시작했습니다.

그래서 --force는 'Error : No provider for "framework : jasmine"! (해결 : framework : jasmine) '가 사라 졌습니까?

webstrom IDE에서 grunt를하면 다음과 같은 결과가 나타납니다.

경고 : "framework : jasmine"에 대한 공급자가 없습니다! (해결 : framework : jasmine) 계속하려면 --force를 사용하십시오.

그래서이 문제는 해결되지 않았습니다.


Grunt --force는 카르마 테스트를 우회하도록 지시하기 때문에 작동합니다. grunt --force를 실행하면 "Done, but with warnings"라고 표시됩니다.

수정하려면 : "karma-jasmine"및 "karma-chrome-launcher"(또는 사용하는 런처)를 packages.json의 devDependencies에 추가하고 npm install을 다시 실행합니다.

npm install karma-jasmine --save-dev

npm install karma-chrome-launcher --save-dev

그러면 프로젝트의 package.json 파일에 karma-jasmine 및 karma-chrome-launcher가 저장됩니다. 그런 다음 다음을 실행하여 패키지를 설치할 수 있습니다.

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'
    ],
...

이 질문이 지금은 꽤 오래되었고 창시자가 여전히 그것을 모니터링하고있는 것 같지는 않지만 이것이 누군가를 돕기를 바랍니다. )


누군가가 여전히이 오류가 발생하는 경우 응답을 추가하십시오 .

Karma-cli ( karma start)는 Error : No provider for "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..

해결책 : karma-jasmine 'npm install -g karma-jasmine'을 전역 범위에 설치하거나 전역 범위에서 karma를 제거하고 로컬 프로젝트 범위에 설치하십시오. 나중에 package.json에 다음을 추가해야합니다.

"scripts" { 
 "test": "karma start"
}

명령 'npm run test'또는을 사용하여 카르마를 실행합니다 'npm test'.


I struggled with the exact same problem. After investigating I realized that karma was running globally using '/usr/' directory as the base folder.

A solution that worked for me was to replace karma with karma-cli:

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

For those of you using karma-spec-reporter and getting this error: "Error: No provider for "framework:jasmine"! (Resolving: framework:jasmine)"

In your karma.conf.js, remove: "plugins: ["karma-spec-reporter"]" and the error should go away.


Here is the primary bug request on github https://github.com/yeoman/generator-angular/issues/629

According to this, the problem is more with the karma-generator in which used to contain these 2 extensions by default and no longer do.


And for me, I didn't have the karma-jasmine globally.

npm install -g karma-jasmine

as described here: "No provider error" on Karma serve running angularjs phonecat tutorial


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

ReferenceURL : https://stackoverflow.com/questions/22421857/error-no-provider-for-frameworkjasmine-resolving-frameworkjasmine

반응형