Testing 无法使用角形cli运行业力

Testing 无法使用角形cli运行业力,testing,karma-runner,karma-jasmine,angular-cli,Testing,Karma Runner,Karma Jasmine,Angular Cli,我遇到了一个奇怪的问题,它发生在我的一个项目上,即使使用完全相同的设置,也无法在其他项目中重现 每次我尝试运行ng测试或别名npm测试时,都会出现两个模块缺失的错误(karma jasmine html reporter&karma reporter)。但是模块肯定在那里!例如: 网-app@0.0.3-alpha测试/用户/vassilis/Projects/WebApp ng试验 07 03 2017 12:08:27.157:错误[配置]:配置文件中有错误! {错误:找不到模块'karma

我遇到了一个奇怪的问题,它发生在我的一个项目上,即使使用完全相同的设置,也无法在其他项目中重现

每次我尝试运行
ng测试
或别名
npm测试
时,都会出现两个模块缺失的错误(
karma jasmine html reporter
&
karma reporter
)。但是模块肯定在那里!例如:

网-app@0.0.3-alpha测试/用户/vassilis/Projects/WebApp ng试验

07 03 2017 12:08:27.157:错误[配置]:配置文件中有错误! {错误:找不到模块'karma jasmine html reporter' 在Function.Module.\u解析文件名(Module.js:469:15) 在Function.Module.\u加载(Module.js:417:25) at Module.require(Module.js:497:17) 根据需要(内部/module.js:20:19) 在module.exports(/Users/vassilis/Projects/WebApp/karma.conf.js:11:7)
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
  });
};
在Object.parseConfig(/Users/vassilis/Projects/WebApp/node_modules/karma/lib/config.js:342:5) 在新服务器上(/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 在Class.run(/Users/vassilis/Projects/WebApp/node_modules/@angular/cli/tasks/test.js:10:16) 在Class.run(/Users/vassilis/Projects/WebApp/node_modules/@angular/cli/commands/test.js:29:25) 上课时。(/Users/vassilis/Projects/WebApp/node_modules/@angular/cli/ember-cli/lib/models/command.js:134:17) 在进程中。_tickCallback(internal/process/next_tick.js:103:7)代码:'MODULE_NOT_FOUND'} npm错误!测试失败。请参见上文了解更多详细信息

这是我的设置:

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

我真的很困惑。这似乎是一个与项目相关的问题,但我不能确定业力是否根本不存在。对此有何想法?

依赖项似乎未安装,您确定已安装这些依赖项吗


npm安装——保存dev karma jasmine html reporter karma reporter伊斯坦布尔报道

这个答案可能太晚了。像这样删除angularCli中的配置项

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

有关更多信息,请参阅此

谢谢,但正如我所说,依赖项已安装并验证。(我尝试了几次npm安装,试图找出发生了什么,并检查安装过程中是否有问题)。您是否尝试过npm安装--强制安装?您是在本地运行还是在Jenkins中运行?