You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Windows环境下Angular ng test时Karma无法启动Chrome的问题求助

Windows下Angular ng test无法启动Chrome的解决方案

1. 修正环境变量设置的错误

你之前执行的SET CHROME_BIN = "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe"存在语法问题:等号前后不能有空格,否则系统会识别出变量名为CHROME_BIN (带空格),而非CHROME_BIN。

  • 临时生效(当前CMD窗口):

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

    执行后直接在该窗口运行ng test测试。

  • 永久生效(系统环境变量):

    1. 右键「此电脑」→「属性」→「高级系统设置」→「环境变量」
    2. 在「系统变量」区域点击「新建」,变量名填CHROME_BIN,变量值填C:\Program Files (x86)\Google\Chrome\Application\chrome.exe
    3. 保存后重启所有终端/IDE,再运行ng test

2. 直接在Karma配置文件中指定Chrome路径

如果环境变量设置无效,可以直接在karma.conf.js中硬编码Chrome的执行路径,无需依赖系统变量:

修改配置文件中的browsers字段,新增customLaunchers配置:

module.exports = function (config) {
  config.set({
    // ... 其他原有配置不变
    customLaunchers: {
      ChromeCustom: {
        base: 'Chrome',
        chromeBinary: 'C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome.exe'
      }
    },
    browsers: ['ChromeCustom'], // 替换原来的['Chrome']
    // ... 其他原有配置不变
  });
};

3. 尝试使用Chrome无头模式

如果不需要可视化浏览器窗口,可以改用Chrome无头模式,避免窗口启动相关的问题:

修改karma.conf.js:

module.exports = function (config) {
  config.set({
    // ... 其他原有配置不变
    customLaunchers: {
      ChromeHeadlessCustom: {
        base: 'ChromeHeadless',
        chromeBinary: 'C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome.exe',
        flags: ['--no-sandbox', '--disable-gpu']
      }
    },
    browsers: ['ChromeHeadlessCustom'],
    // ... 其他原有配置不变
  });
};

4. 更新依赖确保版本兼容

检查karma-chrome-launcher是否为最新版本,版本不兼容也可能导致启动失败:

npm install karma-chrome-launcher@latest --save-dev

内容的提问来源于stack exchange,提问作者m8beacoder

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 04:22:05