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

时间:2014-03-15 09:16:47

标签: 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文件,其中我有菜单项'运行karma.conf.js'并开始业力亚军。然后我得到他的例外:

...\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做错误:没有#34;框架的提供者:jasmine&#34 ;! (解决:框架:茉莉花)'走了?

当我在webstrom IDE中咕噜咕噜时,我又回来了:

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

所以这个问题没有解决。

9 个答案:

答案 0 :(得分:84)

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

修复: 添加" 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

来源:No provider for "framework:jasmine"! (Resolving: framework:jasmine)

答案 1 :(得分:72)

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

npm install -g karma-cli

答案 2 :(得分:11)

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

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

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

希望这可以帮助那里的人,即使这个问题现在已经非常古老,似乎创始人仍然没有监控它; )

答案 3 :(得分:7)

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

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

  1. 您尚未安装karma-jasmine节点模块,并且未在package.json中的devDependencies部分中列出
  2. 解决方案npm install -D karma-jasmine

    1. 你有一个'插件'你的karma.config.js文件中的属性数组,但是这个数组没有提到' karma-jasmine'。
    2. 解决方案:添加' karma-jasmine'在karma.config.js插件或摆脱这整个'插件'如果可能的话。

      plugins:['karma-jasmine']

      1. 您可以全球安装' karma-cli'当你做'karma start'时,业力试图在全球范围内找到业力 - 茉莉花模块。 使用以下命令检查全局安装的模块列表:npm list -g --depth=0
      2. 解决方案:使用'npm install -g karma-jasmine'在全局范围内安装karma-jasmine,或从全局范围中删除karma并将其安装在本地项目范围内。在以后的例子中,您将不得不将以下内容添加到package.json:

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

        使用命令'npm run test''npm test'运行业力。

答案 4 :(得分:6)

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

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

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

答案 5 :(得分:2)

对于那些使用karma-spec-reporter并收到此错误的人: "错误:没有"框架的提供者:jasmine"! (解决:框架:茉莉花)"

在你的karma.conf.js中,删除:"插件:[" karma-spec-reporter"]"并且错误应该消失。

答案 6 :(得分:1)

这是github上的主要错误请求 https://github.com/yeoman/generator-angular/issues/629

根据这个,问题更多的是karma-generator,其中默认情况下用于包含这两个扩展,而不再使用。

答案 7 :(得分:0)

对我来说,我没有全球的业力茉莉。

npm install -g karma-jasmine

如此处所述:"No provider error" on Karma serve running angularjs phonecat tutorial

答案 8 :(得分:0)

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