No provider for “framework:jasmine”! (Resolving: framework:jasmine)

前端 未结 6 1369
死守一世寂寞
死守一世寂寞 2020-12-22 21:32

When I run the command grunt I get the following warning:

Running \"karma:unit\" (karma) task
Warning: No provider for \"framework:jasmine\"! (         


        
相关标签:
6条回答
  • 2020-12-22 21:57

    My problem was in my karma.config.js file:

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

    This caused the other karma-* plugins not to be loaded, which includes karma-jasmine.

    0 讨论(0)
  • 2020-12-22 21:58

    As @Taco said, the default solution for this problem is installing the appropriate plugin, like this: npm install karma-jasmine --save-dev or this: npm install karma-mocha --save-dev.

    However, this error is also expected when you are running an old version of karma-cli because they updated the way karma loads the plugins. To make sure you have the latest version, run this:

    npm install -g karma-cli
    
    0 讨论(0)
  • 2020-12-22 22:00

    I had the same error after creating a new project the yeoman angular generator (yo angular).

    The solution for me was adding "karma-jasmine" to the devDependencies in packages.json and running "npm install" again.

    npm install karma-jasmine --save-dev

    This solved the error message "No provider for “framework:jasmine”!"

    I also had to add a karma browser launcher to the devDependencies, as I got the message that no launcher was installed (see http://karma-runner.github.io/0.10/config/browsers.html).

    npm install karma-safari-launcher --save-dev

    My packages.json looked like this after my action:

    {
      "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"
      }
    }
    

    I changed the following line in karma.conf en karma-e2e.conf to use the karma-safari-launcher:

    browsers: ['Safari'],
    

    I hope this will work for you, too.

    0 讨论(0)
  • 2020-12-22 22:03

    If your karma.conf.js specifies a plugins attribute, be sure to add karma-jasmine to the list. If all the plugins are prefixed with karma-, you don't need to specify this attribute as the plugins will be automatically loaded.

    0 讨论(0)
  • 2020-12-22 22:16

    My problem was the selected "Karma package" in the IntelliJ run configuration. I did not select the project's karma package in the project's "node_module" folder:

    0 讨论(0)
  • 2020-12-22 22:21

    It happened to me because I had Karma installed globally, and when I ran karma start command it actually ran in /usr/... rather than my dev directory.

    In my case the solution was to remove karma and install karma-cli instead.

    npm remove -g karma
    npm install -g karma-cli
    
    0 讨论(0)
提交回复
热议问题