Fedora 36下执行ng test报错:需设置CHROME_BIN环境变量求助
解决Fedora 36下Angular单元测试
ng test找不到Chrome二进制文件的问题 问题原因
Karma测试框架无法自动识别Fedora系统中Chrome浏览器的二进制文件路径——Fedora上安装的Chrome通常名为google-chrome-stable,默认路径不在Karma的搜索范围内。
解决步骤
第一步:确认Chrome是否已安装
在终端执行以下命令检查Chrome版本:google-chrome-stable --version如果提示命令不存在,先通过dnf安装Chrome:
sudo dnf install google-chrome-stable第二步:临时设置环境变量
在当前终端窗口执行以下命令,临时指定Chrome二进制文件路径:export CHROME_BIN=/usr/bin/google-chrome-stable完成后直接运行
ng test即可。第三步:永久设置环境变量(可选)
如果不想每次打开终端都重新设置,可以把环境变量写入shell配置文件:- 打开bash配置文件(如果用zsh则编辑
~/.zshrc):nano ~/.bashrc - 在文件末尾添加一行:
export CHROME_BIN=/usr/bin/google-chrome-stable - 保存并退出后,执行以下命令使配置生效:
source ~/.bashrc
- 打开bash配置文件(如果用zsh则编辑
第四步:修改Karma配置文件(可选)
也可以直接在Angular项目的karma.conf.js中指定Chrome路径:
打开项目根目录下的karma.conf.js,在config.set({ ... })中添加或修改以下配置:browsers: ['Chrome'], chromeBinary: '/usr/bin/google-chrome-stable', // 若要使用无头模式(无界面运行测试),可添加以下配置 customLaunchers: { ChromeHeadlessNoSandbox: { base: 'ChromeHeadless', flags: ['--no-sandbox', '--disable-gpu'] } }修改后保存,直接运行
ng test即可。
内容的提问来源于stack exchange,提问作者cha1nsaw
相关产品推荐
相关产品推荐

