Skip to content

[BUG] Platform-specific optional dependencies not being included in package-lock.json #8320

Description

@kusyka911

Is there an existing issue for this?

  • I have searched the existing issues

This issue exists in the latest npm version

  • I am using the latest npm

Current Behavior

Most likely related to #4828

Tried with:

  • npm@10.9.2 and npm@11.4.1
  • node@22.13.0 and node@22.16.1

None is updating package-lock with platform specific dependencies.
Can't do update on local machine because my laptop is arm64 darwin, have to run a x86_64 VM or drop package-lock on CI.

Here is log from one of my CI runs.

Error: Cannot find module @rollup/rollup-linux-x64-gnu. npm has a bug related to optional dependencies (https://github.com/npm/cli/issues/4828). Please try `npm i` again after removing both package-lock.json and node_modules directory.
    at requireWithFriendlyError (/home/runner/work/***/rollup/dist/native.js:64:9)
    at Object.<anonymous> (/home/runner/work/***/node_modules/rollup/dist/native.js:73:76)
    at Module._compile (node:internal/modules/cjs/loader:1562:14)
    at Object..js (node:internal/modules/cjs/loader:1699:10)
    at Module.load (node:internal/modules/cjs/loader:1313:32)
    at Function._load (node:internal/modules/cjs/loader:1123:12)
    at TracingChannel.traceSync (node:diagnostics_channel:322:14)
    at wrapModuleLoad (node:internal/modules/cjs/loader:217:24)
    at cjsLoader (node:internal/modules/esm/translators:263:5)
    at ModuleWrap.<anonymous> (node:internal/modules/esm/translators:1[96](https://github.com/***/actions/runs/15192969231/job/42730156384#step:7:97):7)
npm error Lifecycle script `build` failed with error:
npm error code 1
npm error path /home/runner/work/***/extensions/preview
npm error workspace theme@0.0.1
npm error location /home/runner/work/***/extensions/preview
npm error command failed
npm error command sh -c vite build

Expected Behavior

package-lock successfully updated with platform specific dependencies when npm ci or npm install runs in CI environment.

Steps To Reproduce

  1. App with "vite@^5.3.4" + package-lock.json generated on arm64.
  2. Build app in CI environment like github actions

Environment

  • npm@10.9.2 and npm@11.4.1
  • node@22.13.0 and node@22.16.1
  • OS Name: local: macOS / CI: ubuntu@24.04.2
  • System Model Name:
  • npm config:
//npm.pkg.github.com/:_authToken = (protected)
//registry.npmjs.org/:_authToken = (protected)
auto-install-peers = true
enable-pre-post-scripts = true
engine-strict = true
shamefully-hoist = true

Metadata

Metadata

Assignees

No one assigned

    Labels

    Bugthing that needs fixingNeeds Triageneeds review for next steps

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions