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

如何获取yarn install原生模块构建阶段的更多输出以排查卡顿

获取更多日志输出以排查CI环境yarn install卡顿问题

一、提升node-gyp专属日志级别

设置NODE_GYP_LOG_LEVEL=debug环境变量,针对node-gyp输出最详细的构建调试日志,包括子进程执行、文件操作、校验等细节:

export NODE_GYP_LOG_LEVEL=debug
yarn install --frozen-lockfile --verbose

二、启用yarn深度调试模式

在原有命令基础上添加--debug参数,让yarn输出内部依赖处理的全流程日志,覆盖原生模块安装的每个阶段:

yarn install --frozen-lockfile --verbose --debug

三、隔离调试puppeteer依赖构建

跳过全量安装,单独针对puppeteer进行安装并输出详细日志,缩小问题范围:

# 先完成其他依赖安装
yarn remove puppeteer
yarn install --frozen-lockfile --verbose
# 单独安装puppeteer并开启调试日志
yarn add puppeteer@22.0.0 --verbose --debug

也可直接进入puppeteer目录手动触发node-gyp构建:

cd node_modules/puppeteer
node-gyp rebuild --debug

四、系统级进程跟踪

当进程卡顿时,进入CI容器执行以下命令排查进程状态:

  1. 查看资源占用情况:
    htop # 或 top
    
  2. 定位相关进程:
    ps aux | grep -E "(node|make|gyp)"
    
  3. 跟踪进程系统调用,确认卡顿点:
    strace -p <进程PID>
    

五、检查CI资源配置

确认CI容器的CPU、内存配额是否充足,arm64架构下原生模块构建对资源需求较高,资源限制可能导致进程假死。尝试在CI配置中提升容器的资源分配。

额外排查提示

  • 尽管设置了PUPPETEER_SKIP_CHROME_DOWNLOAD=true,puppeteer依赖的dtrace-provider等原生模块仍会执行构建,需重点关注这些模块构建完成后的后续流程日志。
  • 对比本地macOS与CI环境的工具版本差异,slim镜像可能缺少部分构建依赖,可尝试在容器中安装:
    apt-get update && apt-get install -y build-essential
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.20 12:34:59