简体   繁体   中英

Cannot npm install due to node-gyp: binding.gyp not found

I have been working on this all day and have tried lots of different things:

  • Uninstalling node and installing latest version
  • Using the --msvs_version= flag set to 2010, 2011, 2012, 2013, 2015
  • Deleting the .node-gyp folder
  • Adding python path to .npmrc like so: python=C:\Python27\python.exe
  • npm -g install npm@next
  • Running node-gyp rebuild and node-gyp configure
  • Following Robert Kehoe's guide

Rough times.

The package is an Electron/React app and I am running Windows 10. Console output for npm install is

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

And for node-gyp rebuild :

gyp: binding.gyp not found (cwd: C:\Users\scheinerbock\Desktop\mpstudio) while trying to load binding.gyp

I am well out of my wheelhouse here and would appreciate any suggestions or information in addition to solutions.

I am using macos catalina 10.15.5 and i faced the same issues and all the above solutions didn't worked for me. I was able to resolve this by running

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

Hope this helps people.

create a binding.gyp file and place it in your project root. the content of the file looks like this:

{
  "targets": [
    {
      "target_name": "binding",
      "sources": [ "src/binding.cc" ]
    }
  ]
}

A binding.gyp file describes the configuration to build your module, in a JSON-like format. This file gets placed in the root of your package, alongside package.json. see here: https://github.com/nodejs/node-gyp#the-bindinggyp-file

See this thread , maybe it helps.

node-gyp uses Visual Studio for building on Windows, so I guess the issue comes from your VS installation.

Judging from this path (C:\Program Files (x86)\MSBuild), looks like it requires a newer version (perhaps Visual Studio 2015 where MSBuild was first introduced).

Try downgrade npm version to v6:

npm install -g npm@6 

or downgrade node version to v12 together use nvm

Ref: https://github.com/nodejs/node-gyp/issues/508

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

Had tried so many solutions, this one seemed to work instantly for me. Install g++ and cmake, with command 'apt install make g++', for windows I believe these have thier website for downloading.

https://cmake.org/download/ - for make | https://sourceware.org/cygwin/ - for g++ (If not search gcc on google)

I haven't tested this for windows, this worked for me with the apt command on Linux.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM