没有提供“框架:茉莉花”! (解决:框架:茉莉花)

当我运行命令grunt我得到以下警告:

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

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

创build一个新的项目后,我有同样的错误yeomanangular发生器(哟angular)。

我的解决scheme是在packages.json的devDependencies中添加“karma-jasmine”,并再次运行“npm install”。

npm install karma-jasmine --save-dev

这解决了错误消息“没有提供者”框架:茉莉花“!”

我还必须在devDependencies中添加一个业力浏览器启动器,因为我得到了没有安装启动器的消息(请参阅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.conf中的以下行更改为karma-e2e.conf以使用karma-safari-launcher:

 browsers: ['Safari'], 

我希望这也能为你工作。

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

然而,当你运行旧版本的karma-cli时,也会出现这个错误,因为他们更新了karma加载插件的方式。 为了确保你有最新版本,运行这个:

 npm install -g karma-cli 

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

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

这导致其他karma-*插件不被加载,其中包括karma-jasmine

如果您的karma.conf.js指定了一个plugins属性,请确保将karma-jasmine添加到列表中。 如果所有的插件前缀为karma- ,则不需要指定该属性,因为插件将被自动加载。

它发生在我身上,因为我在全球范围内安装了Karma,而当我运行karma start命令时,它实际上运行在/ usr / …而不是我的开发目录中。

在我的情况下,解决scheme是去除业力,并安装karma-cli。

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

我的问题是IntelliJ运行configuration中选定的“Karma包”。 我没有在项目的“node_module”文件夹中select项目的业务包: 在这里输入图像说明