执行npm install nodegit安装失败,VS环境不满足且预编译包缺失
nodegit 安装失败问题解决
环境配置
PS P:\CSS-Strategy> git --version git version 2.36.1.windows.1 PS P:\CSS-Strategy> npm --version 8.13.2 PS P:\CSS-Strategy> node --version v16.17.0
问题现象
执行 npm install nodegit 时,先出现以下依赖弃用警告:
- npm WARN deprecated har-validator@5.1.5: 该库不再被支持
- npm WARN deprecated uuid@3.4.0: 请升级至7.x或更高版本,旧版本在某些场景下可能使用Math.random(),存在安全问题
- npm WARN deprecated request@2.88.2: request已被弃用
- npm WARN deprecated node-pre-gyp@0.13.0: 请升级至@mapbox/node-pre-gyp,非作用域的node-pre-gyp包已被弃用,未来仅@mapbox作用域的包会收到更新
随后安装失败,具体原因:
- node-pre-gyp 尝试下载预编译包
nodegit-v0.27.0-node-v93-win32-x64.tar.gz时返回404,无法找到该包 - 回退源码编译后,node-gyp 检测到已安装的VS2019缺少Windows SDK,无法构建可用编译环境,最终编译失败,错误码为1。完整日志路径:
C:\Users\junu\AppData\Local\npm-cache\_logs\2022-09-12T15_44_33_340Z-debug-0.log
解决方案
方案1:安装兼容Node v16的nodegit版本
nodegit v0.27.0未提供Node v16(ABI v93)的预编译包,建议安装支持该Node版本的nodegit版本,比如v0.29.0及以上:
npm install nodegit@0.29.0
方案2:补全VS2019的Windows SDK以支持源码编译
若坚持使用当前nodegit版本,需补全VS编译环境:
- 打开Visual Studio Installer
- 找到已安装的VS2019实例,点击「修改」
- 在「单个组件」中搜索并勾选与系统匹配的Windows SDK(比如Windows 10 SDK 19041)
- 完成安装后重启终端,重新执行
npm install nodegit
额外提示
若仍有问题,可尝试清除npm缓存后再安装:
npm cache clean --force npm install nodegit
内容的提问来源于stack exchange,提问作者astral_clover
相关产品推荐
相关产品推荐

