오류 : "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) 다음 이유 중 하나로 인해 :
- karma-jasmine 노드 모듈을 아직 설치하지 않았으며 package.json의 devDependencies 섹션에 나열되지 않았습니다.
해결책 :npm install -D karma-jasmine
- karma.config.js 파일에 'plugins'속성 배열이 있지만이 배열에는 'karma-jasmine'에 대한 언급이 없습니다.
해결책 : karma.config.js의 플러그인에 'karma-jasmine'을 추가하거나 가능하면이 'plugins'속성 전체를 제거하십시오.
plugins:['karma-jasmine']
- 당신은 '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
'Programing' 카테고리의 다른 글
Cache.properties (시스템이 지정된 파일을 찾을 수 없음) (0) | 2021.01.05 |
---|---|
e.touches, e.targetTouches 및 e.changedTouches의 변형 (0) | 2021.01.05 |
PHP 클래스에 코드를 포함 할 수 있습니까? (0) | 2021.01.05 |
기본 Android 드로어 블을 사용하는 방법 (0) | 2021.01.05 |
단일 투명 픽셀 (PNG 또는 GIF)을 렌더링하는 PHP 스크립트 (0) | 2021.01.05 |