tsc 解析不同包版本中的类型

tsc resolves types from a different package version

提问人:YuvalH 提问时间:4/11/2023 更新时间:4/11/2023 访问量:128

问:

我们有一个使用 pnpm 工作区的 monorepo,并且多个服务都在使用该包,具有不同的版本。graphql

尝试使用 编译一个服务,我得到这个:tsc --explainFiles

../../node_modules/.pnpm/[email protected][email protected]/node_modules/apollo-link/lib/index.d.ts
  Imported via 'apollo-link' from file '../../somewhere/in/project.ts' with packageId 'apollo-link/lib/[email protected]'
  File redirects to file '../../node_modules/.pnpm/apollo-link@[email protected]/node_modules/apollo-link/lib/index.d.ts'

并且由于类型不匹配,编译失败。
为什么会进行这种重定向?我检查了一下,这些文件或目录之间没有符号链接。
已经解决了正确的依赖关系,为什么要重定向到另一个依赖关系?
tsc

检查了所有版本,一切似乎都还好。 当添加到:package.jsontsconfig.json

"paths": {
    "*": ["node_modules/*"]
}

它解决了这个问题,但我不知道为什么这会阻止重定向,以及这可能产生的其他影响。

感谢您的帮助!

节点 .js 类型脚本 依赖解析 类型解析

评论


答: 暂无答案