🔎 搜索词
"类型不兼容", "fastify"
🕗 版本与回归信息
- 当我想测试链接的包时,这会破坏我的应用程序。
⏯ Playground链接
- 无响应*
💻 代码
包含解释的可复现仓库。
https://github.com/TMaszko/ts-bug-main
😞 实际行为
具有不匹配版本的两个代码相同的包在链接包的node_modules package package.json中出现错误。
🙂 预期行为
如果包在代码上相同且仅版本不匹配,则不应出现任何错误。
关于问题的附加信息
当链接包的包版本 fastify2
与原始 fastify
不同时,会出现类型不兼容的错误。当版本对齐时,则不会有错误。可能与通用类型有关,因为如果我从两个类型定义中删除一些属性,错误也会消失。例如:
- 主项目fastify中的包版本 -> 4.23.2
- 主项目fastify2中的包版本 -> 4.23.1(仅在package.json中手动更改了包版本)
6条答案
按热度按时间jecbmhm31#
我们需要一个实际的复现案例,以便进一步调查。
jtjikinw2#
@RyanCavanaugh 为方便错误复现添加了仓库。
mkshixfv3#
我不明白你为什么说这是错误的。这个错误是100%正确的,代表了你在运行时实际遇到的问题,如果你让这个继续进行下去。
zzwlnbp84#
两个node_modules中的类型在代码上是完全相同的,唯一的区别是我更改了链接包中的版本号(两个仓库中的
fastify
版本都是4.23.2,但我只是通过更改fastify
包中的版本号将链接包手动降级为4.23.1
)。为什么会引发任何问题?ni65a41a5#
这不是一个“由npm link引起的问题”,而是一个“两个文本完全相同的类型不能交叉赋值”的错误。请为后者提供一个最小的复现示例。
alen0pnh6#
@RyanCavanaugh 我不知道如何以其他方式重现它,说实话:(。如果版本匹配,错误就会消失。
编辑:我想我知道怎么做了。我会尽快更新主仓库,并将此问题的描述也一并更新。