You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

树莓派构建Remix.run项目Docker镜像时出现错误码133

树莓派Docker构建Remix项目时npm install报"unreachable code"错误(返回码133)

问题描述

我在树莓派上用Docker构建Remix.run项目,Dockerfile内容如下:

FROM node:alpine

WORKDIR /app

COPY ./package*.json /app/

RUN npm install

COPY . /app

RUN npm run build

CMD ["npm", "run", "start"]

构建时执行到RUN npm install步骤报错,错误日志:

$ docker image build -t website .
Sending build context to Docker daemon  3.398MB
Step 1/7 : FROM node:alpine
 ---> de31857d30b5
Step 2/7 : WORKDIR /app
 ---> Using cache
 ---> 8b3558d128e4
Step 3/7 : COPY ./package*.json /app/
 ---> Using cache
 ---> d1d5f47f3a87
Step 4/7 : RUN npm install
 ---> Running in 279c78d7a2b3


#
# Fatal error in , line 0
# unreachable code
#
#
#
#FailureMessage Object: 0x7eb164ec
The command '/bin/sh -c npm install' returned a non-zero code: 133

已排除内存不足的可能,当前系统内存情况:

$ free -h
              total        used        free      shared  buff/cache   available
Mem:          923Mi       149Mi       282Mi       7.0Mi       491Mi       712Mi
Swap:          99Mi          0B        99Mi

尝试添加--verbose参数执行npm install,输出无变化。

解决方案

1. 更换Node镜像为兼容ARM架构的版本

树莓派是ARM架构,node:alpine使用musl libc,部分场景下可能存在兼容性问题。建议改用基于glibc的Debian镜像,或者指定更稳定的ARM兼容Node版本:

# 改用LTS版本的Debian slim镜像
FROM node:lts-bookworm-slim

WORKDIR /app

COPY ./package*.json /app/

RUN npm install

COPY . /app

RUN npm run build

CMD ["npm", "run", "start"]

也可以尝试指定适配ARM的Alpine版本,比如node:20-alpine(确保镜像支持armhf/arm64架构)。

2. 调整Docker构建时的资源限制

虽然系统剩余内存充足,但Docker默认可能给构建容器分配的内存不足,尝试在构建时指定更大内存:

docker build --memory 1g -t website .

3. 清理Docker构建缓存后重新构建

缓存的镜像层可能存在损坏,清理后重新构建:

docker builder prune -f
docker build -t website .

4. 检查依赖兼容性

排查package.json中是否包含不兼容ARM架构的原生依赖,比如某些需要编译的C/C++模块。可以尝试删除package-lock.json后重新安装,或者替换为兼容ARM的替代依赖。


内容的提问来源于stack exchange,提问作者Nullndr

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 18:05:01