Description
npm ci
no longer passes configuration properly to node-gyp
in npm
6.9.0, so many Node.js use cases that require building native modules have completely broken in the 10.16.x upgrade.
While this is technically an npm
issue, this will break almost anyone relying on passing custom options to node-gyp
for it to even work properly. See the following bugs:
https://npm.community/t/npm-ci-doesnt-respect-npmrc-variables/6032
https://npm.community/t/npm-ci-doesnt-fill-anymore-the-process-env-npm-config-cache-variable-on-post-install-scripts/6658
https://npm.community/t/npm-ci-does-not-compile-native-dependencies-according-to-npmrc-configuration/6069
I found this out on my own because Node 10.16.x default npm
is now incapable of building native modules in a container/chroot with no network access:
https://npm.community/t/npm-6-9-x-not-passing-environment-to-node-gyp-regression-from-6-4-x/9323/2
I'm only raising this issue to make the Node team aware (if they weren't already), since the decision was made here to incorporate 6.9.0 into the 10.16 minor semver bump. I have no idea if there is any possibility to revert the 6.9.0 upgrade at this point. At a minimum, perhaps there need to be integration tests for npm
commands as part of the total upgrade process, testing node
, node-gyp
, and npm
together.