【发布时间】:2021-09-23 04:27:22
【问题描述】:
我有一个 Angular 11 项目。 ng 测试在本地成功运行,但在 docker 容器内,我收到以下错误
Launching browsers ChromeHeadless with concurrency unlimited 14 07 2021 07:20:44.772:INFO [launcher]: Starting browser ChromeHeadless 14 07 2021 07:20:44.800:ERROR [launcher]: Cannot start ChromeHeadless Can not find the binary /iot-config-tool/node_modules/puppeteer/.local-chromium/linux-884014/chrome-linux/chrome Please set env variable CHROME_BIN 14 07 2021 07:20:44.800:ERROR [launcher]: ChromeHeadless stdout: 14 07 2021 07:20:44.800:ERROR [launcher]: ChromeHeadless stderr: npm ERR! Test failed. See above for more details.
我正在使用 node:14.17-alpine 图像。我也尝试使用此命令apk update && apk add --no-cache chromium 安装 chromium,但遇到相同的错误。
这里是 karma.config.js
提前谢谢你
process.env.CHROME_BIN = require('puppeteer').executablePath();
module.exports = function(config) {
config.set({
webpack: { node: { fs: 'empty' } },
basePath: '',
frameworks: ['jasmine', '@angular-devkit/build-angular'],
browsers: ['ChromeHeadless'],
plugins: [
require('karma-jasmine'),
require('karma-chrome-launcher'),
require('karma-jasmine-html-reporter'),
require('karma-coverage-istanbul-reporter'),
require('@angular-devkit/build-angular/plugins/karma'),
],
client: {
clearContext: false, // leave Jasmine Spec Runner output visible in browser
},
mime: {
'text/x-typescript': ['ts', 'tsx'],
},
coverageIstanbulReporter: {
reports: ['html', 'lcovonly'],
fixWebpackSourcePaths: true,
},
angularCli: {
environment: 'dev',
},
reporters:
config.angularCli && config.angularCli.codeCoverage
? ['progress', 'coverage-istanbul']
: ['progress', 'kjhtml'],
port: 9876,
colors: true,
logLevel: config.LOG_INFO,
autoWatch: true,
singleRun: false,
});
};
【问题讨论】:
-
能否请您也添加您的 docker yml?
-
我正在用这个命令测试它 docker run -v
pwd:/iot-config-tool -it node:14.17-alpine /bin/sh
标签: angular docker google-chrome-headless