From f57f9913d55ede055cb151bf2293b45e52cc0a0e Mon Sep 17 00:00:00 2001 From: Syngnat Date: Sun, 5 Jul 2026 11:40:14 +0800 Subject: [PATCH] =?UTF-8?q?=F0=9F=90=9B=20fix(ci):=20=E4=BF=AE=E5=A4=8D=20?= =?UTF-8?q?build-env=20=E9=95=9C=E5=83=8F=20npm=20=E7=AC=A6=E5=8F=B7?= =?UTF-8?q?=E9=93=BE=E6=8E=A5=E8=A2=AB=20COPY=20=E8=A7=A3=E5=BC=95?= =?UTF-8?q?=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 移除对 npm/npx/corepack 的直接 COPY,改为拷贝 node_modules 后重建符号链接 - COPY 会解引用符号链接,导致脚本内相对路径 require 解析失败 --- Dockerfile.build-env | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/Dockerfile.build-env b/Dockerfile.build-env index 6819e3b8..ec1559ff 100644 --- a/Dockerfile.build-env +++ b/Dockerfile.build-env @@ -20,11 +20,14 @@ RUN printf 'export PATH=/go/bin:/usr/local/go/bin:$PATH\n' > /etc/profile.d/10-g # Copy only Node.js runtime assets so the Go toolchain from the base image # stays intact for smoke tests and interactive build shells. COPY --from=node /usr/local/bin/node /usr/local/bin/node -COPY --from=node /usr/local/bin/npm /usr/local/bin/npm -COPY --from=node /usr/local/bin/npx /usr/local/bin/npx -COPY --from=node /usr/local/bin/corepack /usr/local/bin/corepack COPY --from=node /usr/local/lib/node_modules /usr/local/lib/node_modules +# npm/npx/corepack are symlinks in the node image; COPY dereferences them into +# standalone scripts whose relative requires break, so recreate the symlinks. +RUN ln -sf ../lib/node_modules/npm/bin/npm-cli.js /usr/local/bin/npm \ + && ln -sf ../lib/node_modules/npm/bin/npx-cli.js /usr/local/bin/npx \ + && ln -sf ../lib/node_modules/corepack/dist/corepack.js /usr/local/bin/corepack + RUN apt-get update \ && apt-get install -y --no-install-recommends \ bash \