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


98

명령을 실행하면 grunt다음 경고가 표시됩니다.

Running "karma:unit" (karma) task
Warning: No provider for "framework:jasmine"! (Resolving: framework:jasmine) Use --force to continue.

아무도이 문제를 해결하는 방법을 알고 있습니까?

답변:


181

여만 각도 생성기 (요 각도)라는 새 프로젝트를 만든 후에도 동일한 오류가 발생했습니다.

나를위한 해결책은 packages.json의 devDependencies에 "karma-jasmine"을 추가하고 "npm install"을 다시 실행하는 것이 었습니다.

npm install karma-jasmine --save-dev

"프레임 워크 : 자스민"에 대한 공급자가 없습니다! "라는 오류 메시지가 해결되었습니다.

런처가 설치되어 있지 않다는 메시지를 받았기 때문에 devDependencies에 karma 브라우저 런처를 추가해야했습니다 ( 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'],

나는 이것이 당신에게도 효과가 있기를 바랍니다.


2
감사! 내가 다른 유일한 것은 크롬을 사용했다는 것입니다npm install karma-chrome-launcher --save-dev
Luciano 2014

1
@KyleHayes 다음은 generator-angular 프로젝트의 버그 리포트입니다 : github.com/yeoman/generator-angular/issues/629
cjerdonek 2014-06-12

1
나는 Error: No provider for "framework:karma-chrome-launcher"!이것 이후
David

1
플러그인이있는 경우 : [...] karma.config.js에 추가 된 경우 karma-jasmine을 설치해도 문제가 해결되지 않습니다. 플러그인과 같은 플러그인 배열에 'karma-jasmine'을 추가해야합니다 : [ 'karma-jasmine'].
Thaadikkaaran 2016 년

내 이해에 따르면 "npm install karma-jasmine --save-dev"는 package.json에 영향을 미치지 않았습니다. 이 솔루션에 감사드립니다.
Andy

37

: @Taco 말했듯이,이 문제에 대한 기본 솔루션은 다음과 같이 적절한 플러그인이 설치되어 npm install karma-jasmine --save-dev나이 : npm install karma-mocha --save-dev.

그러나이 오류는 karma-clikarma가 플러그인을로드하는 방식을 업데이트했기 때문에 의 이전 버전을 실행할 때도 예상됩니다 . 최신 버전인지 확인하려면 다음을 실행하십시오.

npm install -g karma-cli

1
이것은 나를 위해 그것을 고쳤습니다. 이전에 언급 한 종속성이 있었지만 karma-cli는 구식이었던 것 같습니다.
icfantv

1
이것은 내 문제를 해결했습니다. 감사합니다 친구
샤이 크

1
나는 이것도 만났다. 분명히, npm install -g karma하지 와 같은 것 npm install -g karma-cli.
Peter Majeed dec

@PeterMajeed Jasmine을 설치 한 후 할 수 있다고 생각 npm install -g karma했지만 작동하지 않습니다. 사용해야합니다npm install -g karma-cli
Coburn

34

내 문제는 내 karma.config.js파일에 있습니다.

plugins: [require("karma-webpack")]

이것은 다른 원인 karma-*포함하는로드 할 수 없습니다 플러그인 karma-jasmine.


1
aleclarson 's도 내 문제였습니다. 이후 karma-webpack내에서 이미 package.jsondevDependencies,이 주석 plugins내에서 항목 karma.config.js파일을.
dave_k_smith 2010 년

31

속성을 karma.conf.js지정하는 경우 목록 plugins에 추가 karma-jasmine해야합니다. 모든 플러그인에 접두사가 붙은 karma-경우 플러그인이 자동으로로드되므로이 속성을 지정할 필요가 없습니다.


6
감사합니다. 이것은 플러그인에 karma-jasmine을 추가하여 내 문제를 해결했습니다!
sandip

감사합니다. 이것이 전체 라인입니다. plugins: ['karma-jasmine', 'karma-chrome-launcher', 'karma-spec-reporter', 'karma-coverage'],
Sam Deering

6

Karma가 전역으로 설치되어 있었기 때문에 발생했으며 karma start 명령을 실행했을 때 실제로 dev 디렉토리가 아닌 / usr / ...에서 실행되었습니다.

제 경우 해결책은 카르마를 제거하고 대신 karma-cli를 설치하는 것이 었습니다.

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

2

내 문제는 IntelliJ 실행 구성에서 선택된 "Karma 패키지"였습니다. 프로젝트의 "node_module"폴더에서 프로젝트의 karma 패키지를 선택하지 않았습니다. 여기에 이미지 설명 입력


이것이 바로 내가 찾고 있던 (누락 된) 것입니다.
vivekmore
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.