TSC 在 github-action 期间构建错误,但在本地编译正常

2023-11-29

Using act为了通过 Docker 在本地测试 github-actions,我在 github-action 工作流程中遇到了各种 TS 错误(TS2345、TS18046、TS2339 等...)。这些错误是not在本地开发和运行期间观察到tsc -p tsconfig.build.json在我的本地计算机上结果编译成功。

github-action 运行于ubuntu-latest我已经确认运行程序已配置为使用与本地版本相同的节点、npm、yarn 和 tsc 版本。

  • Node - v18.13.0
  • npm - v8.19.3
  • yarn - 1.22.19
  • tsc - v4.9.4

此外,我已经确认 TSC 在 github-action 期间使用的配置与我的本地配置相同(来自tsc --showConfig,比较本地和 github-action 的差异)。使用 github-action 中的相同 docker 容器,我可以访问终端并运行相同的命令,而不会看到错误。

鉴于节点、npm、yarn 和 tsc 版本在我的本地和 github-action 中是相同的,什么可能导致这种不同的行为?

tsconfig.json

{
  "compilerOptions": {
    "rootDir": "./src",
    "module": "commonjs",
    "declaration": false,
    "noImplicitAny": false,
    "skipLibCheck": true,
    "removeComments": true,
    "noLib": false,
    "allowSyntheticDefaultImports": true,
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "resolveJsonModule": true,
    "esModuleInterop": true,
    "target": "ES2021",
    "sourceMap": true,
    "outDir": "./dist",
    "baseUrl": "src",
    "incremental": true,
    "strictNullChecks": true
  },
  "include": ["src/**/*"],
  "exclude": ["node_modules", "**/*.spec.ts"],
  "paths": {
    "@module": ["src/module"]
  }
}


我遇到了类似的问题,这是由于 package.json 中没有列出所有软件包造成的。

我仍然不确定为什么它在本地成功构建(也许我在 node_modules 中有剩余文件?),但我跟踪错误消息到特定行,发现这是由于缺少特定的导入造成的。将其添加到 package.json 中,错误就消失了。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

TSC 在 github-action 期间构建错误,但在本地编译正常 的相关文章

随机推荐