由于node-gyp无法安装npm:找不到binding.gyp

时间:2017-03-07 02:09:25

标签: node.js windows npm node-gyp

我一整天都在努力,尝试过很多不同的事情:

  • 卸载节点并安装最新版本
  • --msvs_version=标记设置为2010, 2011, 2012, 2013, 2015
  • 删除.node-gyp文件夹
  • 将python路径添加到.npmrc,如下所示:python=C:\Python27\python.exe
  • npm -g install npm@next
  • 正在运行node-gyp rebuildnode-gyp configure
  • 关注Robert Kehoe's guide

艰难时期。

该软件包是Electron / React应用程序,我正在运行Windows 10. npm install的控制台输出

C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Platforms\x64\Microsoft.Cpp.x64.Targets(514,5): error MSB8008: Specif
ied platform toolset (v120) is not installed or invalid. Please make sure that a supported PlatformToolset value is sel
ected. [C:\Users\scheinerbock\Desktop\mpstudio\node_modules\mplib\build\addon.vcxproj]
gyp ERR! build error
gyp ERR! stack Error: `msbuild` failed with exit code: 1
gyp ERR! stack     at ChildProcess.onExit (C:\Users\scheinerbock\AppData\Roaming\npm\node_modules\npm\node_modules\node-gyp\lib\build.js:276:23)
gyp ERR! stack     at emitTwo (events.js:106:13)
gyp ERR! stack     at ChildProcess.emit (events.js:191:7)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:215:12)
gyp ERR! System Windows_NT 10.0.14393
gyp ERR! command "C:\\Program Files\\nodejs\\node.exe" "C:\\Users\\scheinerbock\\AppData\\Roaming\\npm\\node_modules\\npm\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild"
gyp ERR! cwd C:\Users\scheinerbock\Desktop\mpstudio\node_modules\mplib
gyp ERR! node -v v6.10.0
gyp ERR! node-gyp -v v3.5.0
gyp ERR! not ok

对于node-gyp rebuild

  

gyp:在尝试加载binding.gyp

时找不到binding.gyp(cwd:C:\ Users \ scheinerbock \ Desktop \ mpstudio)

我在这里完全没有驾驶室,除了解决方案之外,我还会感谢任何建议或信息。

5 个答案:

答案 0 :(得分:3)

我使用的是macos catalina 10.15.5,我遇到了相同的问题,并且上述所有解决方案均不适用于我。我可以通过运行来解决此问题

npm i -g node-gyp@latest && npm config set node_gyp "/usr/local/lib/node_modules/node-gyp/bin/node-gyp.js"

希望这对人们有帮助。

答案 1 :(得分:2)

请参阅this thread,也许有帮助。

node-gyp使用Visual Studio在Windows上构建,所以我猜这个问题来自你的VS安装。

从这条路径判断(C:\ Program Files(x86)\ MSBuild),看起来它需要一个更新的版本(也许是首次引入MSBuild的Visual Studio 2015)。

答案 2 :(得分:1)

使用以下命令。它对我有用。对于胜利10,它运作良好:

npm install --msvs_version=2013

答案 3 :(得分:0)

确保您已安装python 2.x版本,而不是3.x版本 对我来说,它在我安装了python 2.6之后就起作用了

答案 4 :(得分:0)

尝试了很多解决方案,这个对我来说似乎立竿见影。 安装 g++ 和 cmake,使用命令 'apt install make g++',对于 windows 我相信这些有他们的网站可供下载。

https://cmake.org/download/ - for make | https://sourceware.org/cygwin/ - for g++(如果不在google上搜索gcc)

我还没有在 Windows 上测试过这个,这对我在 Linux 上使用 apt 命令很有效。