为什么 Angular Karma Test (npm test) 无法启动 Google Chrome 并以错误代码 8 结束?

Why Angular Karma Test (npm test) can not start Google Chrome and ended up with error code 8?

环境

我对这个话题完全陌生,我尝试 运行 只是一个简单的测试。但我一直收到以下错误消息:

01 08 2017 09:21:59.859:DEBUG [launcher]: C:\Users\Me\AppData\Local\Google\Chrome\Application\chrome.exe --user-data-dir=C:\Users\Me\AppData\Local\Temp\karma-53868757 --no-default-browser-check --no-first-run --disable-default-apps --disable-popup-blocking --disable-translate --disable-background-timer-throttling --disable-renderer-backgrounding --disable-de
vice-discovery-notifications http://localhost:9876/?id=53868757
01 08 2017 09:22:02.925:DEBUG [launcher]: Process Chrome exited with code 8
01 08 2017 09:22:02.925:ERROR [launcher]: Cannot start Chrome
[10036:6688:0801/092200:ERROR:external_registry_loader_win.cc(89)] Missing value path for key Software\Google\Chrome\Extensions\flliilndjeohchalpbbcdekjklbdgfkk.
[10036:6688:0801/092200:ERROR:external_registry_loader_win.cc(89)] Missing value path for key Software\Google\Chrome\Extensions\lifbcibllhkdhoafpjfnlhfpfgnpldfl.
[10036:6688:0801/092200:ERROR:external_registry_loader_win.cc(89)] Missing value path for key Software\Google\Chrome\Extensions\lmjegmlicamnimmfhcmpkclmigmmcbeh.

如果我尝试启动浏览器本身 (C:\Users\Me\AppData\Local\Google\Chrome\Application\chrome.exe),浏览器就会启动。

附加信息

我在错误警报中看到一条信息,其中包含以下信息,(已翻译)

An administrator has installed Google Chrome on this system. It is available to all users. Installing Google Chrome on your system level now replaces your installation at the user level.

如果我点击 "ok" 没有任何反应,程序会尝试再次启动 Chrome,在没有任何提示的情况下也是如此。结果是:01 08 2017 10:15:46.782:ERROR [launcher]: Chrome failed 2 times (cannot start). Giving up.

我使用最新的 Google Chrom 版本。

** 业力配置文件 **

module.exports = function (config) {
  config.set({
    basePath: '',
    frameworks: ['jasmine', '@angular/cli'],
    plugins: [
      require('karma-jasmine'),
      require('karma-chrome-launcher'),
      require('karma-tap'),
      require('karma-sourcemap-loader'),
      require('karma-webpack'),
      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
    },
    coverageIstanbulReporter: {
      reports: [ 'html', 'lcovonly' ],
      fixWebpackSourcePaths: true
    },
    angularCli: {
      environment: 'dev'
    },
    reporters: ['progress', 'kjhtml'],
    port: 9876,
    colors: true,
    logLevel: config.LOG_DEBUG,
    autoWatch: true,
    captureTimeout: 60000,
    browserNoActivityTimeout: 360000,
    browsers: ['Chrome'],
    singleRun: false
  });
};

可能是什么问题? 如何设置缺失值路径?

嗯,现在可以了。看起来 PowerShell 不知道我的 Chrome-Path。 我设置了变量,现在它工作得很好。

 $Env:CHROME_BIN = "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe"