"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.json의 devDependencies,이 주석 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.