【问题标题】:No provider for "framework:jasmine"! (Resolving: framework:jasmine)没有“框架:茉莉花”的提供者! (解决:框架:茉莉)
【发布时间】:2014-03-13 00:57:19
【问题描述】:

当我运行命令 grunt 时,我收到以下警告:

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

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

【问题讨论】:

    标签: gruntjs karma-jasmine


    【解决方案1】:

    在创建 yeoman 角度生成器 (yo angular) 的新项目后,我遇到了同样的错误。

    我的解决方案是将“karma-jasmine”添加到 packages.json 中的 devDependencies 并再次运行“npm install”。

    npm install karma-jasmine --save-dev

    这解决了错误消息“No provider for “framework:jasmine”!”

    我还必须将 karma 浏览器启动器添加到 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 en karma-e2e.conf 中更改了以下行以使用 karma-safari-launcher:

    browsers: ['Safari'],
    

    我希望这对你也有用。

    【讨论】:

    • 谢谢!唯一不同的是我使用了 chrome npm install karma-chrome-launcher --save-dev
    • @KyleHayes 下面是生成器 Angular 项目中的错误报告:github.com/yeoman/generator-angular/issues/629
    • 在此之后我得到了Error: No provider for "framework:karma-chrome-launcher"!
    • 如果你有插件:[...] 添加到 karma.config.js,那么安装 karma-jasmine 不会解决问题。您必须将 'karma-jasmine' 添加到插件数组中,例如 plugins: ['karma-jasmine']。
    • 据我了解,“npm install karma-jasmine --save-dev”对 package.json 没有任何影响。所以感谢这个解决方案。
    【解决方案2】:

    正如@Taco 所说,此问题的默认解决方案是安装适当的插件,例如:npm install karma-jasmine --save-dev 或:npm install karma-mocha --save-dev

    但是,当您运行旧版本的 karma-cli 时也会出现此错误,因为它们更新了 karma 加载插件的方式。为确保您拥有最新版本,请运行以下命令:

    npm install -g karma-cli
    

    【讨论】:

    • 这为我解决了问题。我有前面提到的依赖项,但显然 karma-cli 已经过时了。
    • 这解决了我的问题。谢谢朋友
    • 我也遇到了这个问题。显然,npm install -g karmanpm install -g karma-cli相同。
    • @PeterMajeed 安装 Jasmine 后,我想也许我可以 npm install -g karma 但这不起作用。你必须使用npm install -g karma-cli
    【解决方案3】:

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

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

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

    【讨论】:

    • aleclarson 的也是我的问题。由于karma-webpack 已经在我的package.jsondevDependencies 中,我在karma.config.js 文件中注释掉了这个plugins 条目。
    【解决方案4】:

    如果您的karma.conf.js 指定了plugins 属性,请务必将karma-jasmine 添加到列表中。如果所有插件都以karma-为前缀,则无需指定该属性,插件会自动加载。

    【讨论】:

    • 谢谢,这解决了我的问题,将 karma-jasmine 添加到插件中!
    • 感谢这项工作 - 这是完整的线路。 plugins: ['karma-jasmine', 'karma-chrome-launcher', 'karma-spec-reporter', 'karma-coverage'],
    【解决方案5】:

    这发生在我身上,因为我全局安装了 Karma,当我运行 karma start 命令时,它实际上运行在 /usr/... 而不是我的 dev 目录中。

    在我的情况下,解决方案是删除 karma 并安装 karma-cli。

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

    【讨论】:

      【解决方案6】:

      我的问题是 IntelliJ 运行配置中选择的“Karma 包”。我没有在项目的“node_module”文件夹中选择项目的业力包:

      【讨论】:

      • 这正是我(失踪)正在寻找的。​​span>
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-12-12
      • 1970-01-01
      • 2023-04-06
      • 1970-01-01
      • 2015-07-26
      • 1970-01-01
      • 2023-03-23
      相关资源
      最近更新 更多