没有"框架:茉莉花"的提供者!(解决:框架:茉莉花)

Tha*_*tta 98 gruntjs karma-jasmine

当我运行命令时,grunt我收到以下警告:

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

有人知道如何解决这个问题吗?

Tac*_*aco 181

创建一个新的项目之后我有同样的错误yeoman角度生成器(哟角度).

我的解决方案是将"karma-jasmine"添加到packages.json中的devDependencies并再次运行"npm install".

npm install karma-jasmine --save-dev

这解决了错误消息"No provider for"框架:jasmine"!"

我还必须在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"
  }
}
Run Code Online (Sandbox Code Playgroud)

我更改了karma.conf和karma-e2e.conf中的以下行来使用karma-safari-launcher:

browsers: ['Safari'],
Run Code Online (Sandbox Code Playgroud)

我希望这对你也有用.

  • 也不应该自动添加吗? (23认同)
  • 谢谢,这对我有用.我用过"karma-chrome-launcher". (7认同)
  • 谢谢!我唯一不同的是我使用chrome`npm install karma-chrome-launcher --save-dev` (2认同)

And*_*ena 37

正如@Taco所说,这个问题的默认解决方案是安装适当的插件,如下所示:npm install karma-jasmine --save-dev或者:npm install karma-mocha --save-dev.

但是,当您运行旧版本时,也会出现此错误,karma-cli因为它们更新了karma加载插件的方式.要确保您拥有最新版本,请运行以下命令:

npm install -g karma-cli
Run Code Online (Sandbox Code Playgroud)


ale*_*son 34

我的问题出在我的karma.config.js文件中:

plugins: [require("karma-webpack")]
Run Code Online (Sandbox Code Playgroud)

这导致其他karma-*插件无法加载,其中包括karma-jasmine.


hug*_*hes 30

如果您karma.conf.js指定了plugins属性,请务必添加karma-jasmine到列表中.如果所有插件都带有前缀karma-,则无需指定此属性,因为插件将自动加载.

  • 谢谢,这解决了我的问题,将karma-jasmine添加到插件中! (6认同)

小智 6

它发生在我身上,因为我在全局安装了Karma,当我运行karma start命令时,它实际上运行在/ usr/...而不是我的dev目录.

在我的情况下,解决方案是删除业力并安装karma-cli.

npm remove -g karma
npm install -g karma-cli
Run Code Online (Sandbox Code Playgroud)