diff --git a/Dockerfile_alpine-bun b/Dockerfile_alpine-bun index de36ad5..8f000c2 100644 --- a/Dockerfile_alpine-bun +++ b/Dockerfile_alpine-bun @@ -41,7 +41,11 @@ SHELL ["/usr/local/bin/bash-with-nvm"] ENV BASH_ENV=/etc/bash.bashrc # Install Node.js LTS via NVM and Bun -RUN nvm install $NODE_VERSION_LTS \ +# TARGETARCH fix: QEMU buildx can report wrong arch via uname -m +ARG TARGETARCH +RUN NVM_MUSL_ARCH=$([ "$TARGETARCH" = "arm64" ] && echo "arm64-musl" || echo "x64-musl") \ + && nvm_get_arch() { echo "$NVM_MUSL_ARCH"; } \ + && nvm install $NODE_VERSION_LTS \ && nvm alias default $NODE_VERSION_LTS \ && nvm use default \ && curl -fsSL https://bun.sh/install | bash diff --git a/Dockerfile_alpine-deno b/Dockerfile_alpine-deno index 2cee752..d818a14 100644 --- a/Dockerfile_alpine-deno +++ b/Dockerfile_alpine-deno @@ -42,7 +42,11 @@ SHELL ["/usr/local/bin/bash-with-nvm"] ENV BASH_ENV=/etc/bash.bashrc # Install Node.js LTS via NVM (Deno already installed from Alpine repos) -RUN nvm install $NODE_VERSION_LTS \ +# TARGETARCH fix: QEMU buildx can report wrong arch via uname -m +ARG TARGETARCH +RUN NVM_MUSL_ARCH=$([ "$TARGETARCH" = "arm64" ] && echo "arm64-musl" || echo "x64-musl") \ + && nvm_get_arch() { echo "$NVM_MUSL_ARCH"; } \ + && nvm install $NODE_VERSION_LTS \ && nvm alias default $NODE_VERSION_LTS \ && nvm use default diff --git a/Dockerfile_alpine-node b/Dockerfile_alpine-node index 122a77d..87d8758 100644 --- a/Dockerfile_alpine-node +++ b/Dockerfile_alpine-node @@ -52,7 +52,13 @@ ENV PATH="$PNPM_HOME:$PATH" # Install Node.js LTS via NVM and pnpm # Use musl-specific builds from unofficial-builds for Alpine compatibility -RUN nvm install $NODE_VERSION_LTS \ +# TARGETARCH fix: QEMU buildx can report wrong arch via uname -m, causing NVM +# to download x64 binaries on arm64. We create a temporary uname wrapper to +# ensure the correct architecture binary is downloaded. +ARG TARGETARCH +RUN NVM_MUSL_ARCH=$([ "$TARGETARCH" = "arm64" ] && echo "arm64-musl" || echo "x64-musl") \ + && nvm_get_arch() { echo "$NVM_MUSL_ARCH"; } \ + && nvm install $NODE_VERSION_LTS \ && nvm alias default $NODE_VERSION_LTS \ && nvm use default \ && npm install -g pnpm \