Skip to content

Notice: Node 10.16.x npm 6.9.0 upgrade npm ci regression #28987

Closed
@apaprocki

Description

@apaprocki

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    npmIssues and PRs related to the npm client dependency or the npm registry.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions