无法安装 leveldown npm 包,node-gyp 错误 MSBuild.exe 失败,退出代码:1
Unable to install leveldown npm package, node-gyp error MSBuild.exe failed with exit code: 1
- 节点版本:node:v12.13.0 npm:6.12.0
- 平台:windows10
尝试安装 levelDown 时,node-gyp 安装失败
gyp ERR! build error
gyp ERR! stack Error: `C:\Program Files (x86)\Microsoft Visual Studio17\Community\MSBuild.0\Bin\MSBuild.exe` failed with exit code: 1
gyp ERR! stack at ChildProcess.onExit (C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\lib\build.js:194:23)
gyp ERR! stack at ChildProcess.emit (events.js:210:5)
gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:272:12)
gyp ERR! System Windows_NT 10.0.17763
gyp ERR! command "C:\Program Files\nodejs\node.exe" "C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\bin\node-gyp.js" "rebuild"
gyp ERR! cwd D:\Source\Project\node_modules\leveldown
gyp ERR! node -v v12.13.0
gyp ERR! node-gyp -v v5.0.5
我尝试解决此问题的方法:
- 已安装 python 最新版本
- 已安装 visual studio 2017 社区版和 c++ 开发工具
- 设置 VCTargetsPath 和 MSBuild 环境变量
- 在 windows 注册表中设置 VCTargetsPath
- 已尝试 运行 npm install --global --production windows-build-tools
但到目前为止似乎没有任何效果
请帮忙
所以在尝试了很多事情后发现问题出在节点版本上,我使用的是节点版本 12.0.0,尝试降级到版本 11.15.0 并且成功了。
我遇到了一个问题,leveldown 作为依赖项的安装导致另一个包 (orbit-db-http-api) 失败。
它是 package-lock.json 中的旧版本 leveldown,因此即使显式安装最新版本 npm i leveldown@5.0.3
也失败了:
> leveldown@5.0.3 install /home/teide/randomCode/OrbitDB/orbit-db-http-api/node_modules/orbit-db-cache/node_modules/leveldown
> node-gyp-build
> leveldown@3.0.2 install /home/teide/randomCode/OrbitDB/orbit-db-http-api/node_modules/orbit-db-keystore/node_modules/leveldown
> prebuild-install || node-gyp rebuild
删除 repo 附带的 package-lock.json 并重新安装就可以了(无需降级 Node)
- 节点版本:node:v12.13.0 npm:6.12.0
- 平台:windows10
尝试安装 levelDown 时,node-gyp 安装失败
gyp ERR! build error
gyp ERR! stack Error: `C:\Program Files (x86)\Microsoft Visual Studio17\Community\MSBuild.0\Bin\MSBuild.exe` failed with exit code: 1
gyp ERR! stack at ChildProcess.onExit (C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\lib\build.js:194:23)
gyp ERR! stack at ChildProcess.emit (events.js:210:5)
gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:272:12)
gyp ERR! System Windows_NT 10.0.17763
gyp ERR! command "C:\Program Files\nodejs\node.exe" "C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\bin\node-gyp.js" "rebuild"
gyp ERR! cwd D:\Source\Project\node_modules\leveldown
gyp ERR! node -v v12.13.0
gyp ERR! node-gyp -v v5.0.5
我尝试解决此问题的方法:
- 已安装 python 最新版本
- 已安装 visual studio 2017 社区版和 c++ 开发工具
- 设置 VCTargetsPath 和 MSBuild 环境变量
- 在 windows 注册表中设置 VCTargetsPath
- 已尝试 运行 npm install --global --production windows-build-tools
但到目前为止似乎没有任何效果
请帮忙
所以在尝试了很多事情后发现问题出在节点版本上,我使用的是节点版本 12.0.0,尝试降级到版本 11.15.0 并且成功了。
我遇到了一个问题,leveldown 作为依赖项的安装导致另一个包 (orbit-db-http-api) 失败。
它是 package-lock.json 中的旧版本 leveldown,因此即使显式安装最新版本 npm i leveldown@5.0.3
也失败了:
> leveldown@5.0.3 install /home/teide/randomCode/OrbitDB/orbit-db-http-api/node_modules/orbit-db-cache/node_modules/leveldown
> node-gyp-build
> leveldown@3.0.2 install /home/teide/randomCode/OrbitDB/orbit-db-http-api/node_modules/orbit-db-keystore/node_modules/leveldown
> prebuild-install || node-gyp rebuild
删除 repo 附带的 package-lock.json 并重新安装就可以了(无需降级 Node)