Version: 2019.4
包冲突
覆盖 Unity 的冲突解决方式

自动解决冲突

Package Manager 在计算包依赖关系时,如果发现对同一个包的多个版本的请求,则 Package Manager 将自动选择依赖关系层级离根部最近的包。如果依赖关系层级相同,则 Package Manager 在依赖关系层级相同的版本中选择最高版本。然后在 Unity 控制台中显示冲突描述。

Package Manager 会选择包 X 的 v2.0.0,因为这个包离根部更近
Package Manager 会选择包 X 的 v2.0.0,因为这个包离根部更近

在此示例中,包 X 的更高版本 (2.0.1) 作为依赖项与项目之间有三个层级的距离(经由包 B 和包 C)。Package Manager 会加载包 X 的版本 2.0.0,因为它的依赖项与项目之间有两个层级的距离(仅经由包 A)。

注意:即使 Package Manager 可以解决要加载的包的问题,但如果 Unity 请求同一个包的不同主要版本(比如 1.0.02.0.0),则 Unity 仍会将冲突报告写入 Unity 日志文件中。

包冲突
覆盖 Unity 的冲突解决方式