rolaveric / karma-systemjs

Karma plugin for using SystemJS as a module loader
MIT License
40 stars 19 forks source link

Error: No provider for "framework:systemjs"! (Resolving: framework:systemjs) #74

Open vb8190 opened 8 years ago

vb8190 commented 8 years ago

I have been struggling with this issue for two days now. It seems karma is looking for plugins locally but I am still getting this error. I also tried loading karma-systemjs plugin explicitly via plugin:[karma-systemjs] option in karma.conf.js(although its not needed since latest karma-cli loads everything starting karma-* under node modules) and found that it was not able to recognize karma-systemjs plugin, eventhough it is present under nodes_module folder. Please guide.

"C:\osd\forms\node_modules.bin\karma.cmd" "start" "C:\osd\gui-angular2\karma.conf.js" "--port" "9876" 11 04 2016 16:20:13.781:DEBUG [plugin]: Loading karma-* from C:\osd\forms\node_modules 11 04 2016 16:20:13.785:DEBUG [plugin]: Loading plugin C:\osd\forms\node_modules/karma-chrome-launcher. 11 04 2016 16:20:13.808:DEBUG [plugin]: Loading plugin C:\osd\forms\node_modules/karma-coverage. 11 04 2016 16:20:14.566:DEBUG [plugin]: Loading plugin C:\osd\forms\node_modules/karma-jasmine. 11 04 2016 16:20:14.569:DEBUG [plugin]: Loading plugin C:\osd\forms\node_modules/karma-junit-reporter. 11 04 2016 16:20:14.581:DEBUG [plugin]: Loading plugin C:\osd\forms\node_modules/karma-phantomjs-launcher. 11 04 2016 16:20:14.606:DEBUG [plugin]: Loading plugin C:\osd\forms\node_modules/karma-sourcemap-loader. 11 04 2016 16:20:14.615:DEBUG [plugin]: Loading plugin C:\osd\forms\node_modules/karma-spec-reporter. 11 04 2016 16:20:14.622:DEBUG [plugin]: Loading plugin C:\osd\forms\node_modules/karma-webpack. 11 04 2016 16:20:15.262:DEBUG [plugin]: Loading plugin C:\osd\opt\NetBeans 8.1\Program Files\webcommon\karma\karma-netbeans-reporter. C:\osd\forms\node_modules\karma\node_modules\di\lib\injector.js:9 throw error('No provider for "' + name + '"!'); ^ Error: No provider for "framework:systemjs"! (Resolving: framework:systemjs) at error (C:\osd\forms\node_modules\karma\node_modules\di\lib\injector.js:22:68) at Object.parent.get (C:\osd\forms\node_modules\karma\node_modules\di\lib\injector.js:9:13) at [object Object].get (C:\osd\forms\node_modules\karma\node_modules\di\lib\injector.js:54:19) at C:\osd\forms\node_modules\karma\lib\server.js:133:20 at Array.forEach (native) at [object Object].Server._start (C:\osd\forms\node_modules\karma\lib\server.js:132:21) at [object Object].invoke (C:\osd\forms\node_modules\karma\node_modules\di\lib\injector.js:75:15) at [object Object].Server.start (C:\osd\forms\node_modules\karma\lib\server.js:97:18) at Object.exports.run (C:\osd\forms\node_modules\karma\lib\cli.js:231:26) at Object. (C:\osd\forms\node_modules\karma\bin\karma:3:23) at Module._compile (module.js:460:26) at Object.Module._extensions..js (module.js:478:10) at Module.load (module.js:355:32) at Function.Module._load (module.js:310:12) at Function.Module.runMain (module.js:501:10) at startup (node.js:129:16) at node.js:814:3

Here is my karma.conf.js

// Karma configuration // http://karma-runner.github.io/0.10/config/configuration-file.html

module.exports = function (config) { config.set({ // base path, that will be used to resolve files and exclude basePath: '',

       frameworks: ["systemjs","jasmine"],      
    // list of files / patterns to load in the browser
 systemjs: {

  config: {
    paths: {

    'systemjs': './node_modules/systemjs/dist/system.js',
            'typescript': './node_modules/typescript/lib/typescript.js',
    'system-polyfills': './node_modules/systemjs/dist/system-polyfills.js',
    'es6-module-loader': './node_modules/es6-module-loader/dist/es6-module-loader.js'
    },
    packages: {
      'test/app/home/model': {
        defaultExtension: 'ts'
      },
      'src/app/home/model': {
        defaultExtension: 'ts'
      }
    },
    transpiler: 'typescript'
  },
  serveFiles: [
    'src/app/**/*.ts',
    'src/app/home/model/*.ts'
  ]
},

// list of files / patterns to load in the browser
files: [
  //'test/unit/app.spec.ts'
],

// list of files to exclude
exclude: [],

    // web server port
    port: 9876,

    logLevel: config.LOG_DEBUG,
    // enable / disable watching file and executing tests whenever any file
    // changes
    autoWatch: true,

    browsers: ['PhantomJS'],
    // Continuous Integration mode
    // if true, it capture browsers, run tests and exit
    singleRun: true
});

};

The package.json looks like following:

"karma": "^0.13.22", "karma-chrome-launcher": "^0.2.3", "karma-coverage": "^0.5.5", "karma-firefox-launcher": "^0.1.7", "karma-jasmine": "^0.3.8", "karma-junit-reporter": "^0.4.1", "karma-phantomjs-launcher": "^1.0.0", "karma-systemjs": "^0.13.0", "lite-server": "^2.1.0", "phantomjs-polyfill": "0.0.2", "phantomjs-prebuilt": "^2.1.7", "systemjs": "^0.19.26", "typescript": "^1.8.9", "typings": "^0.7.12"

DaSchTour commented 8 years ago

I've a very similar problem, but in my case jasmine isn't found 🙈