Package Manager 在计算包依赖关系时,如果发现对同一个包的多个版本的请求,则 Package Manager 将自动选择依赖关系层级离根部最近的包。如果依赖关系层级相同,则 Package Manager 在依赖关系层级相同的版本中选择最高版本。然后在 Unity 控制台中显示冲突描述。
在此示例中,包 X 的更高版本 (2.0.1) 作为依赖项与项目之间有三个层级的距离(经由包 B 和包 C)。Package Manager 会加载包 X 的版本 2.0.0,因为它的依赖项与项目之间有两个层级的距离(仅经由包 A)。
注意:即使 Package Manager 可以解决要加载的包的问题,但如果 Unity 请求同一个包的不同主要版本(比如 1.0.0 和 2.0.0),则 Unity 仍会将冲突报告写入 Unity 日志文件中。