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

全局安装jest时node-gyp rebuild持续失败该如何解决?

问题原因

本次安装失败的核心是jest全局安装时依赖的canvas包需要本地编译,当前node 16版本对应的node-gyp v7.1.2与该版本canvas的编译配置不兼容,无法找到node对应的v8头文件,导致node-gyp重建失败。

解决方案

按优先级从高到低选择即可:

  • 优先选择局部安装jest,避免全局依赖冲突,绝大多数场景下都可以解决该问题:
    进入你的项目目录后执行如下命令:
    # 未初始化npm项目先执行初始化
    npm init -y
    # 局部安装jest到开发依赖
    npm install jest --save-dev
    
    后续使用时通过npx jest调用,或在package.json的scripts字段中配置测试命令即可。
  • 若必须全局安装jest,按如下步骤操作:
    1. 先清理现有缓存和残留的全局jest文件:
    npm cache clean --force
    npm uninstall jest -g
    
    1. 升级npm到最新稳定版,同步升级内置的node-gyp适配node 16版本:
    npm install -g npm@latest
    
    1. 提前安装适配node 16版本的预编译canvas包,跳过本地编译步骤:
    npm install canvas@2.9.0 -g
    
    1. 重新全局安装jest:
    npm install jest -g
    
  • 若仍然报错,可通过管理员权限打开终端,安装windows编译配套工具自动配置依赖环境,无需手动调整Python和MSBuild版本:
    npm install -g windows-build-tools
    
    安装完成后重新执行全局安装jest的命令即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 23:54:02