rspack icon indicating copy to clipboard operation
rspack copied to clipboard

[Bug]: `@rspack/binding-linux-riscv64-musl` npm module missing

Open silverwind opened this issue 4 months ago • 3 comments

System Info

Alpine Linux 3.22 with musl, Risc-V architecture

Details

When trying to invoke rspack on this platform, below error thrown. Seems the referenced package does not exist on npm: https://www.npmjs.com/package/@rspack/binding-linux-riscv64-musl

Error: Cannot find native binding. 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.

Cannot find module './rspack.linux-riscv64-musl.node'
Require stack:
- /go/src/code.gitea.io/gitea/node_modules/.pnpm/@[email protected]/node_modules/@rspack/binding/binding.js
Cannot find module '@rspack/binding-linux-riscv64-musl'
Require stack:
- /go/src/code.gitea.io/gitea/node_modules/.pnpm/@[email protected]/node_modules/@rspack/binding/binding.js
    at Object.<anonymous> (/go/src/code.gitea.io/gitea/node_modules/.pnpm/@[email protected]/node_modules/@rspack/binding/binding.js:395:11)
    at Module._compile (node:internal/modules/cjs/loader:1730:14)
    at Object..js (node:internal/modules/cjs/loader:1895:10)
    at Module.load (node:internal/modules/cjs/loader:1465:32)
    at Function._load (node:internal/modules/cjs/loader:1282:12)
    at TracingChannel.traceSync (node:diagnostics_channel:322:14)
    at wrapModuleLoad (node:internal/modules/cjs/loader:235:24)
    at Module.require (node:internal/modules/cjs/loader:1487:12)
    at require (node:internal/modules/helpers:135:16)
    at @rspack/binding (/go/src/code.gitea.io/gitea/node_modules/.pnpm/@[email protected]/node_modules/@rspack/core/dist/index.js:294:26) {
  [cause]: [
    Error: Cannot find module './rspack.linux-riscv64-musl.node'
    Require stack:
    - /go/src/code.gitea.io/gitea/node_modules/.pnpm/@[email protected]/node_modules/@rspack/binding/binding.js
        at Function._resolveFilename (node:internal/modules/cjs/loader:1401:15)
        at defaultResolveImpl (node:internal/modules/cjs/loader:1057:19)
        at resolveForCJSWithHooks (node:internal/modules/cjs/loader:1062:22)
        at Function._load (node:internal/modules/cjs/loader:1211:37)
        at TracingChannel.traceSync (node:diagnostics_channel:322:14)
        at wrapModuleLoad (node:internal/modules/cjs/loader:235:24)
        at Module.require (node:internal/modules/cjs/loader:1487:12)
        at require (node:internal/modules/helpers:135:16)
        at requireNative (/go/src/code.gitea.io/gitea/node_modules/.pnpm/@[email protected]/node_modules/@rspack/binding/binding.js:274:18)
        at Object.<anonymous> (/go/src/code.gitea.io/gitea/node_modules/.pnpm/@[email protected]/node_modules/@rspack/binding/binding.js:362:17) {
      code: 'MODULE_NOT_FOUND',
      requireStack: [
        '/go/src/code.gitea.io/gitea/node_modules/.pnpm/@[email protected]/node_modules/@rspack/binding/binding.js'
      ]
    },
    Error: Cannot find module '@rspack/binding-linux-riscv64-musl'
    Require stack:
    - /go/src/code.gitea.io/gitea/node_modules/.pnpm/@[email protected]/node_modules/@rspack/binding/binding.js
        at Function._resolveFilename (node:internal/modules/cjs/loader:1401:15)
        at defaultResolveImpl (node:internal/modules/cjs/loader:1057:19)
        at resolveForCJSWithHooks (node:internal/modules/cjs/loader:1062:22)
        at Function._load (node:internal/modules/cjs/loader:1211:37)
        at TracingChannel.traceSync (node:diagnostics_channel:322:14)
        at wrapModuleLoad (node:internal/modules/cjs/loader:235:24)
        at Module.require (node:internal/modules/cjs/loader:1487:12)
        at require (node:internal/modules/helpers:135:16)
        at requireNative (/go/src/code.gitea.io/gitea/node_modules/.pnpm/@[email protected]/node_modules/@rspack/binding/binding.js:279:18)
        at Object.<anonymous> (/go/src/code.gitea.io/gitea/node_modules/.pnpm/@[email protected]/node_modules/@rspack/binding/binding.js:362:17) {
      code: 'MODULE_NOT_FOUND',
      requireStack: [
        '/go/src/code.gitea.io/gitea/node_modules/.pnpm/@[email protected]/node_modules/@rspack/binding/binding.js'
      ]
    }
  ]
}

Node.js v22.16.0

Reproduce link

https://github.com/go-gitea/gitea/actions/runs/17684100594/job/50264814747

Reproduce Steps

  1. Run npx rspack on above platform

silverwind avatar Sep 13 '25 00:09 silverwind

We've added a support for this target in https://github.com/rspack-contrib/rspack-binding-template and are planning to migrate this setup to Rspack soon. Stay tuned :-)

h-a-n-a avatar Sep 16 '25 10:09 h-a-n-a

Hello @h-a-n-a is there any timeline for this?

jhage-snapsheet avatar Nov 12 '25 10:11 jhage-snapsheet

@jhage-snapsheet Sorry, I might not have enough bandwidth to do this at the moment :-(

h-a-n-a avatar Nov 12 '25 11:11 h-a-n-a