Npm 错误:没有“的提供程序”;框架:茉莉花;!(决议:框架:jasmine)

Npm 错误:没有“的提供程序”;框架:茉莉花;!(决议:框架:jasmine),npm,jasmine,karma-runner,karma-jasmine,Npm,Jasmine,Karma Runner,Karma Jasmine,我已在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\

我已在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,所以我尝试了:咕噜--force

这花了一些时间,但似乎没有更多的错误。见鬼,为什么--强制安装提供程序???这是在CMD中测试的

grunt serve现在起作用了,它用启动应用启动了我的浏览器

那么,是什么——强制执行“错误:没有“framework:jasmine”的提供程序”!(解析:framework:jasmine)“消失了吗?

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

警告:“framework:jasmine”没有提供程序!(解析:framework:jasmine)使用--force继续

所以这个问题没有解决。

咕噜——力之所以有效,是因为你告诉它要绕过业力测试。注意,如果运行grunt--force,它仍然会说“完成,但有警告”

要修复: 将“karma jasmine”和“karma chrome launcher”(或您使用的任何启动器)添加到packages.json中的devdependences,然后再次运行npm安装

npm install karma-jasmine --save-dev

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

npm install

来源:

这是github上的主要错误请求


根据这一点,问题更多的是karma generator,默认情况下它包含这两个扩展,现在不再包含了。

对于我来说,karma客户端没有在全球范围内安装

npm install -g karma-jasmine

npm安装-g karma cli

对我来说,我在全球范围内没有karma jasmine

npm install -g karma-jasmine

如下所述:

对于使用karma spec reporter并出现此错误的用户: 错误:没有“framework:jasmine”的提供程序!(解析:framework:jasmine)


在你的karma.conf.js中,删除:“插件:[“karma spec reporter”]”,错误应该会消失。

npm i-D@types/es6 promise@types/es6 collections

对于那些对karma还足够新的人(像我一样),别忘了确保你已经将插件添加到你的karma.conf.js文件中。在运行了大多数其他建议的修复之后,我终于想到:(


希望这个问题能对其他人有所帮助,尽管这个问题现在已经很古老了,而且发起者似乎还没有对它进行监控;)

我也遇到了同样的问题。在调查之后,我意识到karma是使用“/usr/”目录作为基本文件夹全局运行的

一个对我有效的解决方案是用karma cli代替karma:

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

如果某人出现此错误,则添加回复

Karma cli(
Karma start
)将提供 错误:“framework:jasmine”没有提供程序!(解析:framework:jasmine)原因如下:

  • 您尚未安装karma jasmine节点模块,其未在package.json的devdependences部分中列出
  • 解决方案
    npm安装-D karma jasmine

  • 在karma.config.js文件中有一个“plugins”属性数组,但这个数组没有提到“karma jasmine”
  • 解决方案:将“karma jasmine”添加到karma.config.js中的插件中,或者尽可能删除整个“插件”属性

    插件:['karma-jasmine']

  • 您有一个“karma cli”的全局安装,当您执行“karma start”时,karma正在尝试在全局范围内查找karma jasmine模块。 使用以下命令检查全局已安装模块列表:
    npm list-g--depth=0
  • 解决方案:使用
    'npm install-g karma jasmine'
    在全球范围内安装karma jasmine,或者从全球范围内移除karma并在本地项目范围内安装。在以后的情况下,您必须将以下内容添加到package.json中:

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

    并使用命令运行karma
    'npm run test'
    'npm test'

    我遇到了与Sergio相同的问题,这个解决方案对我有效。我运行了这两个命令,然后
    npm install
    ,然后我可以运行
    karma start karma.conf.js
    ,而不需要任何命令errors@ColeGarstin谢谢你,很高兴它成功了。这是一个伟大的观点。运行这些命令将把karma jasmine和karma chrome launcher包保存在项目的package.json文件中,该文件可以通过npm安装来安装。我是nodejs的新手。当你说
    你的项目的package.json
    时,你是指我的项目源文件夹还是
    /usr/local/lib/node_modules
    或其他什么?@NicholasTolleyCottrell通常,任何使用grunt构建的项目在项目的根目录中都有一个package.json文件。这决定了哪些包通过npm安装到node_模块中,并可用于跟踪项目的开发依赖关系。这对我也很有用。非常感谢。有什么理由不接受这个答案吗?@Sergio我们在下面的投票中创造了一个好答案。这应该是公认的答案吗?@格兰特你的答案似乎得到了社区的赞赏。如果问题解决了具体问题,只有问题的作者才能接受答案。恭喜你的1k btw@Sergio说得通,谢谢:这个答案的可能重复与grant的答案相结合解决了我的问题。与@Lothre1.removing plugins部分相同,从karma.conf solved for method中删除插件在启动karma后给我留下了错误消息“你需要包括一些实现karma.start方法的适配器!”。