2017-03-07 67 views
1

我遇到了一個奇怪的問題,發生在我的一個項目中,即使使用完全相同的設置,也無法在其他人中再現它。無法用角度運行Karma

每次我嘗試運行ng test或別名npm test我得到的錯誤,兩個模塊缺失(karma-jasmine-html-reporter & karma-coverage-istanbul-reporter)。這些模塊雖然在那裏!例如:

[email protected] test /Users/vassilis/Projects/WebApp ng test

07 03 2017 12:08:27.157:ERROR [config]: Error in config file! { Error: Cannot find module 'karma-jasmine-html-reporter' at Function.Module._resolveFilename (module.js:469:15) at Function.Module._load (module.js:417:25) at Module.require (module.js:497:17) at require (internal/module.js:20:19) at module.exports (/Users/vassilis/Projects/WebApp/karma.conf.js:11:7) at Object.parseConfig (/Users/vassilis/Projects/WebApp/node_modules/karma/lib/config.js:342:5) at new Server (/Users/vassilis/Projects/WebApp/node_modules/karma/lib/server.js:56:20) at /Users/vassilis/Projects/WebApp/node_modules/@angular/cli/tasks/test.js:26:31 at Class.run (/Users/vassilis/Projects/WebApp/node_modules/@angular/cli/tasks/test.js:10:16) at Class.run (/Users/vassilis/Projects/WebApp/node_modules/@angular/cli/commands/test.js:29:25) at Class. (/Users/vassilis/Projects/WebApp/node_modules/@angular/cli/ember-cli/lib/models/command.js:134:17) at process._tickCallback (internal/process/next_tick.js:103:7) code: 'MODULE_NOT_FOUND' } npm ERR! Test failed. See above for more details.

這是我的設置:

karma.conf.js
module.exports = function (config) { 
    config.set({ 
    basePath: '', 
    frameworks: ['jasmine', '@angular/cli'], 
    plugins: [ 
     require('karma-jasmine'), 
     require('karma-chrome-launcher'), 
     require('karma-jasmine-html-reporter'), 
     require('karma-coverage-istanbul-reporter'), 
     require('@angular/cli/plugins/karma') 
    ], 
    client:{ 
     clearContext: false // leave Jasmine Spec Runner output visible in browser 
    }, 
    files: [ 
     { pattern: './src/test.ts', watched: false } 
    ], 
    preprocessors: { 
     './src/test.ts': ['@angular/cli'] 
    }, 
    mime: { 
     'text/x-typescript': ['ts','tsx'] 
    }, 
    coverageIstanbulReporter: { 
     reports: [ 'html', 'lcovonly' ], 
     fixWebpackSourcePaths: true 
    }, 
    angularCli: { 
     config: './angular-cli.json', 
     environment: 'dev' 
    }, 
    reporters: config.angularCli && config.angularCli.codeCoverage 
       ? ['progress', 'coverage-istanbul'] 
       : ['progress', 'kjhtml'], 
    port: 9876, 
    colors: true, 
    logLevel: config.LOG_INFO, 
    autoWatch: true, 
    browsers: ['Chrome'], 
    singleRun: false 
    }); 
}; 
而在 angular-cli.json相關部分:
"test": { 
    "karma": { 
     "config": "./karma.conf.js" 
    } 
    } 

我在這裏真的很困惑。這似乎是項目相關的問題,但我不能確定Karma是否甚至沒有運行。對此有何想法?

+0

你嘗試新公共管理在其上安裝--force? – Jesse

回答

0

依賴關係似乎沒有安裝,你確定你已經安裝了這些依賴關係嗎?

npm install --save-dev karma-jasmine-html-reporter karma-coverage-istanbul-reporter

+0

謝謝,但正如我所說的依賴關係安裝和驗證。 (我做了幾次npm安裝,試圖找到會發生什麼,並檢查安裝中是否有問題)。 –

0

這個答案可能爲時已晚。刪除這樣

angularCli: { 
    environment: 'dev' 
} 
//... more code 

在angularCli Config項有關詳細信息,請參閱本link