当前位置:  开发笔记 > 前端 > 正文

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

如何解决《错误:没有"framework:jasmine"的提供者!(解决:框架:茉莉花)》经验,为你挑选了5个好方法。

我在我的Windows控制台上运行:

npm install -g yo grunt-cli bower

npm install -g generator-angular

yo angular

然后我用webstorm开始我的项目并右键单击项目浏览器中的karma.conf.js文件,其中我有菜单项"Run karma.conf.js"并启动karma runner.然后我得到他的例外:

...\app\node_modules\karma\node_modules\di\lib\injector.js:9
      throw error('No provider for "' + name + '"!');
            ^
Error: No provider for "framework:jasmine"! (Resolving: framework:jasmine)

然后在控制台中我读到我也可以使用--force所以我试了一下:grunt --force

花了一些时间,似乎没有更多的错误.哎呀为什么--force安装提供商??? 这是在CMD中测试的.

grunt服务现在工作,它启动我的浏览器与启动应用程序.

那么什么是--force做'错误:没有提供者"框架:茉莉花"!(解决:框架:茉莉花)'消失了?

当我在webstrom IDE中咕噜咕噜时,我再次得到:

警告:没有"framework:jasmine"的提供者!(解决:框架:jasmine)使用--force继续.

所以这个问题没有解决.



1> grant..:

Grunt --force有效,因为你告诉它绕过业力测试.请注意,如果你运行grunt --force,它仍会说"完成,但有警告".

修复:将"karma-jasmine"和"karma-chrome-launcher"(或您使用的任何启动程序)添加到packages.json中的devDependencies并再次运行npm install.

npm install karma-jasmine --save-dev

npm install karma-chrome-launcher --save-dev

这将在项目的package.json文件中保存karma-jasmine和karma-chrome-launcher.然后可以通过运行以下命令安装软件包:

npm install

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


我遇到了与Sergio相同的问题,这个解决方案对我有用.我运行了这两个命令,然后是`npm install`然后我可以运行`karma start karma.conf.js`没有任何错误

2> 小智..:

对我来说,我没有全局安装karma客户端.

npm install -g karma-cli


这个答案加上Grant的答案解决了我的问题.

3> idclaar..:

对于那些仍然足够新的Karma(像我一样)的人,不要忘记确保你已经将插件添加到你的karma.conf.js文件中.在完成了大多数其他提议的修复之后,我终于想到了:(

module.exports = function (config) {
  config.set({
    basePath: '',

    plugins: [
      'karma-chrome-launcher',
      'karma-jasmine'
    ],
...

希望这有助于那里的人,即使这个问题现在很古老,似乎创始人仍然没有监控它; )



4> Praym..:

如果有人仍然收到此错误,请添加回复.

Karma-cli(karma start)会给出 错误:没有"framework:jasmine"的提供者!(解决:框架:茉莉花),原因如下:

    您尚未安装karma-jasmine节点模块,并且未在package.json中的devDependencies部分中列出

方案:npm install -D karma-jasmine

    你的karma.config.js文件中有一个'plugins'属性数组,但是这个数组没有提到'karma-jasmine'.

解决方案:将"karma-jasmine"添加到karma.config.js中的插件中,或者尽可能删除整个"插件"属性.

plugins:['karma-jasmine']

    你有一个'karma-cli'的全局安装,当你这样做时'karma start',业力试图在全球范围内找到karma-jasmine模块.检查使用全球已安装的模块列表:npm list -g --depth=0.

解决方案:在全局范围内安装karma-jasmine,使用'npm install -g karma-jasmine'或从全局范围中删除karma并将其安装在本地项目范围内.在以后的例子中,您将不得不向package.json添加以下内容:

"scripts" { 
 "test": "karma start"
}

并使用命令'npm run test'或运行业力'npm test'.



5> 小智..:

我遇到了同样的问题.在调查之后,我意识到业力全局运行使用'/ usr /'目录作为基础文件夹.

对我有用的解决方案是用karma-cli取代业力:

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

推荐阅读
路人甲
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有