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

GitHub Actions构建npm工作区时出现TS2307找不到本地模块错误

解决GitHub Actions中npm工作区依赖包TS2307找不到的问题

核心排查方向:CI环境是全新构建,必须确保依赖包先构建、工作区关联正确

以下是针对你的场景的具体解决方案,按优先级尝试:

  • 先在CI中构建依赖包@d-matrix/icons-react
    本地构建时你可能已经提前编译过icons-react,但GitHub Actions是全新环境,icons-site依赖的是icons-react的构建产物(比如dist目录的类型文件)。所以要调整CI脚本的执行顺序:

    1. 根目录执行npm install(确保工作区所有依赖都安装)
    2. 先执行构建icons-react的命令,比如npm run build:icons(你需要在根package.json中添加这个脚本,指向packages/icons-react的build命令)
    3. 再执行npm run build:site
  • 确认icons-site的依赖配置是工作区协议
    检查packages/icons-site/package.json中对@d-matrix/icons-react的依赖写法:
    必须是"@d-matrix/icons-react": "workspace:*",而不是具体版本号(比如^1.0.0)。这样npm在工作区环境中会直接关联本地包,而不会去远程仓库拉取,避免CI环境中找不到本地包的问题。

  • 检查TypeScript配置的类型文件路径
    确保icons-site的tsconfig.json能正确识别icons-react的类型定义:

    • 如果icons-react构建后会生成dist目录包含.d.ts文件,在icons-site的tsconfig中,把../icons-react/dist加入include数组:
      {
        "include": [
          "src/**/*",
          "../icons-react/dist/**/*.d.ts"
        ]
      }
      
    • 或者配置paths映射:
      {
        "compilerOptions": {
          "baseUrl": ".",
          "paths": {
            "@d-matrix/icons-react": ["../icons-react/src"]
          }
        }
      }
      
  • CI中避免单独安装子包依赖
    不要在CI中执行npm install --prefix packages/icons-site这种单独安装子包的命令,必须在根目录执行npm install,这样npm会自动处理工作区的依赖关联,把icons-react作为本地链接包安装到icons-site的node_modules中。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 10:08:14