Building for production... Error: Failed to launch chrome!

环境说明:Vue prerender-spa-plugin Jenkins自动构建时报错


-  Building for production...
Error: Failed to launch chrome!
/home/jenkins/workspace/office-site-h5/node_modules/@prerenderer/renderer-puppeteer/node_modules/puppeteer/.local-chromium/linux-686378/chrome-linux/chrome: error while loading shared libraries: libXss.so.1: cannot open shared object file: No such file or directory

主要是服务器上缺少puppeteer插件,安装该插件即可:
我的命令:sudo npm install -g puppeteer --unsafe-perm=true --allow-root

参考:

  • https://segmentfault.com/a/1190000018182165
  • https://blog.youkuaiyun.com/w20101310/article/details/90288271?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522159592218019724839225351%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=159592218019724839225351&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allfirst_rank_ecpm_v3~pc_rank_v2-1-90288271.first_rank_ecpm_v3_pc_rank_v2&utm_term=-++Building+for+production…+&spm=1018.2118.3001.4187
<think> 我们正在处理关于ArkTS编译错误10310021的问题,错误信息包括“Failed to initialize or launch the es2abc process”和“spawn cmd.exe ENOENT”。这些错误通常与Node.js环境、路径设置或权限问题相关。以下是解决步骤: ### 1. 检查Node.js安装 确保已安装Node.js,并且版本符合ArkUI的要求(通常要求Node.js 14.x或更高版本)。可通过以下命令检查: ```bash node -v ``` 如果未安装或版本过低,请从[Node.js官网](https://nodejs.org/)下载安装。 ### 2. 验证环境变量 确保Node.js的安装路径已添加到系统的环境变量`PATH`中。在命令行中执行: ```bash where node ``` 如果未找到,需要手动添加Node.js的安装路径(如`C:\Program Files\nodejs`)到系统环境变量`PATH`中。 ### 3. 检查es2abc进程依赖 错误`spawn cmd.exe ENOENT`通常表示系统在尝试启动一个子进程时找不到`cmd.exe`。这是因为`cmd.exe`的路径(通常是`C:\Windows\System32`)不在环境变量`PATH`中,或者环境变量被某些应用程序修改。 - 检查`PATH`环境变量是否包含`C:\Windows\System32`。 - 如果使用IDE(如DevEco Studio),尝试在IDE的终端中运行,因为IDE可能使用自己的环境变量设置。 ### 4. 以管理员身份运行 尝试以管理员身份运行命令行或IDE,以排除权限问题。 ### 5. 清除缓存并重新安装依赖 在项目目录下,尝试清除缓存并重新安装依赖: ```bash npm cache clean --force npm install ``` ### 6. 检查防病毒软件 某些防病毒软件可能会阻止子进程的创建。尝试临时禁用防病毒软件,然后重新编译。 ### 7. 更新开发工具 确保使用的DevEco Studio是最新版本,因为旧版本可能存在已知问题。 ### 8. 检查项目配置 确认项目配置正确,特别是`build-profile.json5`或`module.json5`中的相关设置。 ### 9. 查看日志文件 详细日志通常位于项目目录下的`build.log`文件中。检查该文件以获取更具体的错误信息。 ### 10. 重装Node.js和DevEco Studio 如果以上步骤无效,尝试重新安装Node.js和DevEco Studio。 按照上述步骤逐一排查,通常可以解决该问题。如果问题仍然存在,请提供更多上下文信息(如操作系统版本、DevEco Studio版本、项目配置等)以便进一步分析。 </think> 以下是解决 ArkTS 编译报错 10310021(Failed to initialize or launch the es2abc process, spawn cmd.exe ENOENT)的完整方案: ### 1. **检查系统环境变量配置(核心步骤)** 错误 `spawn cmd.exe ENOENT` 表明系统找不到 `cmd.exe` 的路径: - **验证 PATH 变量**: 1. 打开命令提示符,执行: ```bash echo %PATH% ``` 2. 检查输出是否包含 `C:\Windows\System32` 3. 若缺失,手动添加: - 右击 "此电脑" → 属性 → 高级系统设置 → 环境变量 - 在 "系统变量" 中找到 `Path` → 编辑 → 新增 `C:\Windows\System32` - **重启生效**:修改后**必须重启计算机**使配置生效[^1] ### 2. **修复 Node.js 环境(关键依赖)** es2abc 进程依赖 Node.js: - **升级 Node.js**: - 安装最新 LTS 版本(≥18.x) - 官网下载:https://nodejs.org - **验证安装**: ```bash node -v # 应显示版本号 ≥18.x npm -v # 确认 npm 可用 ``` - **清理缓存**: ```bash npm cache clean --force ``` ### 3. **DevEco Studio 修复操作** - **重置开发环境**: 1. 菜单栏:File → Invalidate Caches / Restart → 勾选所有选项后重启 2. 执行:Build → Clean Project - **更新 SDK 工具链**: - 打开 SDK Manager → 检查以下组件更新: - OpenHarmony SDK - Previewer - Build Tools ### 4. **权限与系统兼容性检查** - **管理员权限运行**: - 右击 DevEco Studio → 以管理员身份运行 - **关闭冲突程序**: - 临时禁用杀毒软件/防火墙(如 Windows Defender) - 关闭占用端口的程序(如 Android 模拟器) - **系统兼容性**: - 确保操作系统为 Windows 10/11 64位专业版/企业版 - 不支持 Windows 家庭版或 ARM 架构设备 ### 5. **项目级修复措施** - **更新项目依赖**: 在项目根目录执行: ```bash npm install -g ohpm # 更新包管理器 ohpm install @ohos/hvigor-ohos-plugin --force # 修复构建插件 ``` - **重装依赖**: ```bash rm -rf node_modules oh_modules npm install ``` ### 6. **终极解决方案** 若以上步骤无效: 1. 完全卸载 DevEco Studio 2. 手动删除残留目录: - `C:\Users\<用户名>\AppData\Local\Huawei` - `C:\Users\<用户名>\AppData\Roaming\Huawei` 3. 重新安装最新版 DevEco Studio(当前推荐 ≥4.0 Release) > **避坑提示**:开发过程中避免路径包含中文或特殊字符,典型错误路径示例:`C:\用户\张三\项目` → 应改为纯英文路径如 `C:\Projects\my_app` --- ### 相关问题 1. ArkTS 编译报错 "ERROR: Failed to find the incremental file" 如何解决? 2. DevEco Studio 模拟器启动失败提示 "HAXM is not installed" 该怎么处理? 3. 如何优化 ArkTS 项目的编译速度? [^1]: 环境变量修改后需完整重启才能生效,仅重启 IDE 无效
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值