node-gyp: node-gyp fails with node 8 on travis
See the following build history: https://travis-ci.org/ProjectMirador/mirador/builds
This has been a common problem for our contributors who attempt to clone and run the project with npm install
without explicitly setting the node version, and is also an extremely commonly googled error that never seems to have gone away. Most of the time upgrading above node 6 resolves the issue, but other times it requires deleting binaries. What is the root of this problem and what configuration can I implement that will stop this happening for our contributors (and Travis)?
About this issue
- Original URL
- State: closed
- Created 7 years ago
- Comments: 15 (12 by maintainers)
Commits related to this issue
- added fix from https://github.com/nodejs/node-gyp/issues/1211 — committed to esentri/js-crypto-wrapper by deleted user 6 years ago
- Stop sending build results to #rit-lug-sysadmin. Make sure Travis is using GCC 4.8 in order to build node-gyp on node v8. https://github.com/nodejs/node-gyp/issues/1211. — committed to RITlug/teleirc by Tjzabel 5 years ago
We’ve been requiring that for ages, though (since at least Node 4, I think?)
~For posterity:
node
versions are not ABI backwards compatible so the version ofnan
used is incompatible withnode@8.x
~ For posterity, travis needs to be told explicitly to use GCC 4.8 with the following in the.travis.yml
As per https://docs.travis-ci.com/user/languages/javascript-with-nodejs#Node.js-v4-(or-io.js-v3)-compiler-requirements