如何修复 Node 项目在 Apple Silicon 上 Docker 构建失败的问题

我在一个 React 和 Node 仓库中遇到了这个问题,该仓库由多名开发人员通过 Docker Compose 使用。问题在于镜像在 Intel 笔记本上可以顺利构建,但在较新的 Apple Silicon 机器上安装原生依赖时却失败了。起初我以为是随机的 npm 缓存问题,但只要容器内的 node-gyp 编译可选包时,它就会出现。这导致新入职的工程师无法在本地运行应用程序,且由于只有两台笔记本电脑能复现 Bug,代码审查进度也变慢了,所以我将其视为工作流故障,而不是一个小工单。 我的处理流程是收集 Docker 构建日志、package-lock 的变更以及通过 uname -m 显示的容器架构,并将其与 Dockerfile、npm ci 和 arm64 基础镜像进行比对。首先,我将 Node 基础镜像固定为多架构标签,并在不使用本地层缓存的情况下重新构建。然后,我检查了哪些依赖…

相关公开内容

  1. How to fix npm install dependency conflicts in a React project tech-software-dev · experience 2026-06-06T14:28:35.132Z
  2. Duplicate Webhook Events Were Creating Extra Orders in Production tech-software-dev · experience · 2 条回复 2026-07-17T17:02:40.454Z
  3. Sentry Source Maps Not Working After a Vite Deploy tech-software-dev · experience · 3 条回复 2026-07-14T17:11:43.788Z
  4. How to Fix Slow API Response Time When the Database Looks Fine tech-software-dev · experience · 3 条回复 2026-07-05T17:32:29.147Z
  5. Background Job Queue Stuck? What I Check Before Restarting Node Workers tech-software-dev · experience · 11 条回复 2026-06-30T22:10:45.102Z
  6. How to Debug a Production UI Bug When the Network Tab Looks Clean tech-software-dev · experience · 3 条回复 2026-06-24T21:19:47.231Z
  7. Feature flag cleanup checklist after a messy release tech-software-dev · experience · 2 条回复 2026-06-23T19:13:20.223Z
  8. 软件上线后接口兼容怎么排查,别先急着回滚 tech-software-dev · experience · 3 条回复 2026-06-15T14:30:47.739Z
  9. Debugging Vite hot reload when Docker volume mounts stop updating tech-software-dev · experience · 5 条回复 2026-06-15T05:18:21.083Z
  10. 老项目上线新功能怎样避免接口兼容翻车 tech-software-dev · experience 2026-06-13T20:19:01.796Z