[GH-ISSUE #85] Docker build on ARM #72

Closed
opened 2026-03-03 00:07:33 +03:00 by kerem · 2 comments
Owner

Originally created by @ptschi on GitHub (Dec 27, 2025).
Original GitHub issue: https://github.com/binimum/tidal-ui/issues/85

Hello,
I am trying to run docker compose up --build on a OCI ARM Always free instance
I get error


[builder 6/7] RUN npm run build:
0.269
0.269 > tidal-ui@3.0.0 build
0.269 > vite build
0.269
0.433 /app/node_modules/rollup/dist/native.js:83
0.433           throw new Error(
0.433                 ^
0.433
0.433 Error: Cannot find module @rollup/rollup-linux-arm64-gnu. npm has a bug related to optional dependencies (ht                                                     tps://github.com/npm/cli/issues/4828). Please try `npm i` again after removing both package-lock.json and node_mod                                                     ules directory.
0.433     at requireWithFriendlyError (/app/node_modules/rollup/dist/native.js:83:9)
0.433     at Object.<anonymous> (/app/node_modules/rollup/dist/native.js:92:76)
0.433     at Module._compile (node:internal/modules/cjs/loader:1734:14)
0.433     at Object..js (node:internal/modules/cjs/loader:1899:10)
0.433     at Module.load (node:internal/modules/cjs/loader:1469:32)
0.433     at Module._load (node:internal/modules/cjs/loader:1286:12)
0.433     at TracingChannel.traceSync (node:diagnostics_channel:322:14)
0.433     at wrapModuleLoad (node:internal/modules/cjs/loader:235:24)
0.433     at cjsLoader (node:internal/modules/esm/translators:315:5)
0.433     at ModuleWrap.<anonymous> (node:internal/modules/esm/translators:207:7) {
0.433   [cause]: Error: Cannot find module '@rollup/rollup-linux-arm64-gnu'
0.433   Require stack:
0.433   - /app/node_modules/rollup/dist/native.js
0.433       at Module._resolveFilename (node:internal/modules/cjs/loader:1405:15)
0.433       at defaultResolveImpl (node:internal/modules/cjs/loader:1061:19)
0.433       at resolveForCJSWithHooks (node:internal/modules/cjs/loader:1066:22)
0.433       at Module._load (node:internal/modules/cjs/loader:1215:37)
0.433       at TracingChannel.traceSync (node:diagnostics_channel:322:14)
0.433       at wrapModuleLoad (node:internal/modules/cjs/loader:235:24)
0.433       at Module.require (node:internal/modules/cjs/loader:1491:12)
0.433       at require (node:internal/modules/helpers:135:16)
0.433       at requireWithFriendlyError (/app/node_modules/rollup/dist/native.js:65:10)
0.433       at Object.<anonymous> (/app/node_modules/rollup/dist/native.js:92:76) {
0.433     code: 'MODULE_NOT_FOUND',
0.433     requireStack: [ '/app/node_modules/rollup/dist/native.js' ]
0.433   }
0.433 }
0.433
0.433 Node.js v24.0.1
------
Dockerfile:13

--------------------

  11 |     # Copy the rest of the source files and build the SvelteKit app

  12 |     COPY . .

  13 | >>> RUN npm run build

  14 |

  15 |     # Prune dependencies to production-only


Any help is welcome, thanks

Originally created by @ptschi on GitHub (Dec 27, 2025). Original GitHub issue: https://github.com/binimum/tidal-ui/issues/85 Hello, I am trying to run `docker compose up --build` on a OCI ARM Always free instance I get error ``` [builder 6/7] RUN npm run build: 0.269 0.269 > tidal-ui@3.0.0 build 0.269 > vite build 0.269 0.433 /app/node_modules/rollup/dist/native.js:83 0.433 throw new Error( 0.433 ^ 0.433 0.433 Error: Cannot find module @rollup/rollup-linux-arm64-gnu. npm has a bug related to optional dependencies (ht tps://github.com/npm/cli/issues/4828). Please try `npm i` again after removing both package-lock.json and node_mod ules directory. 0.433 at requireWithFriendlyError (/app/node_modules/rollup/dist/native.js:83:9) 0.433 at Object.<anonymous> (/app/node_modules/rollup/dist/native.js:92:76) 0.433 at Module._compile (node:internal/modules/cjs/loader:1734:14) 0.433 at Object..js (node:internal/modules/cjs/loader:1899:10) 0.433 at Module.load (node:internal/modules/cjs/loader:1469:32) 0.433 at Module._load (node:internal/modules/cjs/loader:1286:12) 0.433 at TracingChannel.traceSync (node:diagnostics_channel:322:14) 0.433 at wrapModuleLoad (node:internal/modules/cjs/loader:235:24) 0.433 at cjsLoader (node:internal/modules/esm/translators:315:5) 0.433 at ModuleWrap.<anonymous> (node:internal/modules/esm/translators:207:7) { 0.433 [cause]: Error: Cannot find module '@rollup/rollup-linux-arm64-gnu' 0.433 Require stack: 0.433 - /app/node_modules/rollup/dist/native.js 0.433 at Module._resolveFilename (node:internal/modules/cjs/loader:1405:15) 0.433 at defaultResolveImpl (node:internal/modules/cjs/loader:1061:19) 0.433 at resolveForCJSWithHooks (node:internal/modules/cjs/loader:1066:22) 0.433 at Module._load (node:internal/modules/cjs/loader:1215:37) 0.433 at TracingChannel.traceSync (node:diagnostics_channel:322:14) 0.433 at wrapModuleLoad (node:internal/modules/cjs/loader:235:24) 0.433 at Module.require (node:internal/modules/cjs/loader:1491:12) 0.433 at require (node:internal/modules/helpers:135:16) 0.433 at requireWithFriendlyError (/app/node_modules/rollup/dist/native.js:65:10) 0.433 at Object.<anonymous> (/app/node_modules/rollup/dist/native.js:92:76) { 0.433 code: 'MODULE_NOT_FOUND', 0.433 requireStack: [ '/app/node_modules/rollup/dist/native.js' ] 0.433 } 0.433 } 0.433 0.433 Node.js v24.0.1 ------ Dockerfile:13 -------------------- 11 | # Copy the rest of the source files and build the SvelteKit app 12 | COPY . . 13 | >>> RUN npm run build 14 | 15 | # Prune dependencies to production-only ``` Any help is welcome, thanks
kerem 2026-03-03 00:07:33 +03:00
  • closed this issue
  • added the
    bug
    label
Author
Owner

@binimum commented on GitHub (Dec 27, 2025):

This is a known issue on ARM - related to npm. Into the Dockerfile, change npm ci to:

RUN rm -f package-lock.json
RUN npm install

so the file looks more like this:

# Set the working directory
WORKDIR /app

# Copy package files and install dependencies
COPY package*.json ./
RUN rm -f package-lock.json
RUN npm install

# Copy the rest of the source files and build the SvelteKit app
COPY . .
RUN npm run build

and it should work (albeit a bit slower). Sorry for the headache!

<!-- gh-comment-id:3694215617 --> @binimum commented on GitHub (Dec 27, 2025): This is a known issue on ARM - related to npm. Into the Dockerfile, change `npm ci` to: ``` RUN rm -f package-lock.json RUN npm install ``` so the file looks more like this: ``` # Set the working directory WORKDIR /app # Copy package files and install dependencies COPY package*.json ./ RUN rm -f package-lock.json RUN npm install # Copy the rest of the source files and build the SvelteKit app COPY . . RUN npm run build ``` and it _should_ work (albeit a bit slower). Sorry for the headache!
Author
Owner

@ptschi commented on GitHub (Dec 28, 2025):

It works thank you.

<!-- gh-comment-id:3694846842 --> @ptschi commented on GitHub (Dec 28, 2025): It works thank you.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/tidal-ui#72
No description provided.