node-gyp failure with npm 5.8.0
See original GitHub issuenode-pre-gyp fails in the node-gyp step with the following error (example using the vtquery module):
Error: Failed to execute 'node-gyp configure ...
Stack trace
V=1 ./node_modules/.bin/node-pre-gyp configure build --error_on_warnings=true --loglevel=error
NPM BASE /Users/mapsam/.nvm/versions/node/v6.13.0/lib/node_modules/npm/
NPM GYP BIN /Users/mapsam/.nvm/versions/node/v6.13.0/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js
node-pre-gyp ERR! configure error
node-pre-gyp ERR! stack Error: Failed to execute 'node-gyp configure --error_on_warnings=true --loglevel=error --module=/Users/mapsam/mapbox/vtquery/lib/binding/vtquery.node --module_name=vtquery --module_path=/Users/mapsam/mapbox/vtquery/lib/binding' (Error: spawn node-gyp ENOENT)
node-pre-gyp ERR! stack at ChildProcess.<anonymous> (/Users/mapsam/mapbox/vtquery/node_modules/node-pre-gyp/lib/util/compile.js:80:29)
node-pre-gyp ERR! stack at emitOne (events.js:96:13)
node-pre-gyp ERR! stack at ChildProcess.emit (events.js:188:7)
node-pre-gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:217:12)
node-pre-gyp ERR! stack at onErrorNT (internal/child_process.js:376:16)
node-pre-gyp ERR! stack at _combinedTickCallback (internal/process/next_tick.js:80:11)
node-pre-gyp ERR! stack at process._tickCallback (internal/process/next_tick.js:104:9)
node-pre-gyp ERR! stack at Module.runMain (module.js:613:11)
node-pre-gyp ERR! stack at run (bootstrap_node.js:387:7)
node-pre-gyp ERR! stack at startup (bootstrap_node.js:153:9)
node-pre-gyp ERR! System Darwin 17.4.0
node-pre-gyp ERR! command "/Users/mapsam/.nvm/versions/node/v6.13.0/bin/node" "/Users/mapsam/mapbox/vtquery/node_modules/.bin/node-pre-gyp" "configure" "build" "--error_on_warnings=true" "--loglevel=error"
node-pre-gyp ERR! cwd /Users/mapsam/mapbox/vtquery
node-pre-gyp ERR! node -v v6.13.0
node-pre-gyp ERR! node-pre-gyp -v v0.6.39
node-pre-gyp ERR! not ok
Failed to execute 'node-gyp configure --error_on_warnings=true --loglevel=error --module=/Users/mapsam/mapbox/vtquery/lib/binding/vtquery.node --module_name=vtquery --module_path=/Users/mapsam/mapbox/vtquery/lib/binding' (Error: spawn node-gyp ENOENT)
- node version: v6.13.0
- npm version: 5.8.0
It appears this is an issue with the most recent npm release, version 5.8.0, which was released on 03/08/2018 and removed the node-gyp module unexpectedly. https://github.com/npm/npm/issues/20163. The following path is created in node-pre-gyp with the assumption that node-gyp exists in npm.
/Users/mapsam/.nvm/versions/node/v6.13.0/lib/node_modules/npm/node_modules/node-gyp/bin/
We’ll continue to monitor over there to learn whether we need a fix here or if we can just update to a future version.
Issue Analytics
- State:
- Created 5 years ago
- Comments:7 (6 by maintainers)
Top Results From Across the Web
npm install error with node-gyp\node_modules\@tootallnate
The error might be coming up as it is already in use by another program (without you realising about it, meaning it is...
Read more >node-gyp - npm
Start using node-gyp in your project by running `npm i node-gyp`. There are 1316 other projects in the npm registry using node-gyp.
Read more >Package: npm / 5.8.0+ds6-4+deb10u2 - Debian Sources
Package: npm / 5.8.0+ds6-4+deb10u2 ... node_modules/npm-lifecycle/node-gyp-bin/node-gyp | 2 1 + 1 - 0 ! ... lib/utils/error-message.js | 5 5 + 0 - 0...
Read more >FS#58129 : [npm] node-gyp path specified in npm files is wrong
Since updating to npm 5.8.0 (with the new node-gyp 3.6.2), ... that rely on those versions of node-gyp to fail due to being...
Read more >P16364 Getting strange error on running `npm install`
node build.js || nodejs build.js. gyp ERR! configure error. gyp ERR! stack Error: Can't find Python executable "python", you can set the ...
Read more >
Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free
Top Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found

Hey! I just ran into this while using npm 5.8.0 and was able to fix this issue by doing:
Thanks for making this issue @mapsam!
Right, node 8.11.2 is still pinned on npm 5.6.0 when installing it fresh, so it seems this issue is going to stay relevant for anything that installs nodejs with the npm associated with it; only node 10 is pinned on npm 6 right now.
This means that any CI that uses nvm for version switching will have this bug here. Right now for gRPC we are installing node-gyp globally in our CI to alleviate the problem, but it’s fairly sad to have to do this.