当我运行命令grunt
时,我收到以下警告:
Running "karma:unit" (karma) task
Warning: No provider for "framework:jasmine"! (Resolving: framework:jasmine) Use --force to continue.
有谁知道如何解决这个问题吗?
当我运行命令grunt
时,我收到以下警告:
Running "karma:unit" (karma) task
Warning: No provider for "framework:jasmine"! (Resolving: framework:jasmine) Use --force to continue.
有谁知道如何解决这个问题吗?
在使用yeoman angular生成器(yo angular)创建新项目后,我遇到了相同的错误。
对我而言,解决方法是在packages.json的devDependencies中添加"karma-jasmine",然后再次运行"npm install"。
npm install karma-jasmine --save-dev
这样就解决了"没有提供程序“framework: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"
}
}
我在karma.conf和karma-e2e.conf中将以下行更改为使用karma-safari-launcher:
我在karma.conf和karma-e2e.conf中把以下行改成使用karma-safari-launcher:
browsers: ['Safari'],
我希望这对你也有用。
如@Taco所说,这个问题的默认解决方案是安装适当的插件,例如:npm install karma-jasmine --save-dev
或者 npm install karma-mocha --save-dev
。
不过,如果你运行的是旧版本的karma-cli
,也会出现这个错误,因为他们更新了karma加载插件的方式。为确保你有最新的版本,请运行以下命令:
npm install -g karma-cli
npm install -g karma
和npm install -g karma-cli
不是同一件事情。 - Peter Majeednpm install -g karma
来安装,但是这样是行不通的。你必须使用npm install -g karma-cli
。 - Cobertos我的问题出现在我的karma.config.js
文件中:
plugins: [require("karma-webpack")]
这导致其他的karma-*
插件没有被加载,其中包括karma-jasmine
。
karma.conf.js
文件指定了 plugins
属性,请确保将 karma-jasmine
添加到列表中。如果所有插件都以 karma-
为前缀,则无需指定此属性,因为插件将自动加载。插件:['karma-jasmine','karma-chrome-launcher','karma-spec-reporter','karma-coverage'],
- Sam Deering这种情况发生在我全局安装了Karma,当我运行" karma start"命令时,它实际上是在/usr/...目录下运行,而不是在我的开发目录下。
对于我的情况,解决方法是删除Karma并安装Karma-cli。
npm remove -g karma
npm install -g karma-cli
npm install karma-chrome-launcher --save-dev
。 - Luciano