Skip to content

fix: 修改.dockerignore 以修复 Docker 构建失败因为前端 node_modules 符号链接问题#33

Merged
mirrorange merged 1 commit intomirrorange:mainfrom
Huan-zhaojun:pr/fix/dockerignore-node-modules
Dec 13, 2025
Merged

fix: 修改.dockerignore 以修复 Docker 构建失败因为前端 node_modules 符号链接问题#33
mirrorange merged 1 commit intomirrorange:mainfrom
Huan-zhaojun:pr/fix/dockerignore-node-modules

Conversation

@Huan-zhaojun
Copy link
Contributor

Summary

  • 修复 Docker 构建时 Cannot find module 'typescript/bin/tsc' 错误
  • .dockerignore 中的 node_modules/ 改为 **/node_modules/

Problem

Docker 构建流程:

  1. pnpm install 在容器中正确安装依赖
  2. COPY front/ ./ 意外复制了本地 Windows 的 front/node_modules/
  3. pnpm 的符号链接(指向 C:/program/...)在 Linux 容器中断开
  4. pnpm run build 执行 tsc 时找不到模块

根本原因:.dockerignorenode_modules/ 规则仅匹配根目录,不匹配 front/node_modules/

  .dockerignore 的 node_modules/ 规则无法匹配子目录,导致本地
  Windows 的 front/node_modules(含 pnpm 符号链接)被复制到
  Linux 容器中覆盖已安装的依赖,造成 TypeScript 模块找不到。

  改用 **/node_modules/ 通配符匹配所有子目录。

(cherry picked from commit aee48c7)
@mirrorange mirrorange merged commit 2017ab9 into mirrorange:main Dec 13, 2025
1 check passed
@Huan-zhaojun Huan-zhaojun deleted the pr/fix/dockerignore-node-modules branch December 13, 2025 03:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants