包含此页的版本:
不含此页的版本:
在“包管理器”窗口中工作时,可以从多个来源(注册表、本地文件夹或 tarball、Git URL 和名称)安装包。但是,虽然包管理器可以无缝地安装来自这些源的包,但它首先必须进行一系列计算来决定要安装哪个版本。它还必须决定要安装哪些其他软件包和版本来支持您选择的软件包。
直接依赖关系
当您通过“包管理器”窗口选择要安装的包版本时,您将向项目清单每个 Unity 项目都有一个项目清单,用作包管理器的入口点。此文件必须在<project>/Packages目录。包管理器使用它来配置许多内容,包括该项目的依赖项列表,以及要查询包的任何包存储库。更多信息
请参阅术语表.这是一个声明,表明您需要特定包的特定版本才能使项目正常工作。要向项目添加依赖项,请在表单中添加对包和版本的引用package-name@package-version添加到<project-root>/Packages/manifest.json文件。这些称为“直接”依赖项,因为您的项目直接依赖于它们。
间接依赖关系
包还可以要求其他包才能工作。这些称为“间接”(或传递)依赖关系。包开发人员在开发期间将这些添加到包清单文件的依赖项属性中(<package-root>/package.json).例如,在下图中,alembic@1.0.7package 依赖于timeline@1.0.0package,因此时间线包是“间接”依赖项。相反,项目依赖于cinemachine@2.6.0和alembic@1.0.7packages,所以它们都是“直接”依赖项。
版本覆盖
将包版本添加为依赖项时,该版本不一定是包管理器安装的版本。原因是因为包管理器必须考虑项目中的所有依赖项,无论是直接的还是间接的。在以下示例中,XR一个总称,包括虚拟现实 (VR)、增强现实 (AR) 和混合现实 (MR) 应用。支持这些形式的交互式应用程序的设备可以称为 XR 设备。更多信息
请参阅术语表插件管理包请求是版本4.0.3.但是,包管理器安装的版本4.0.6因为另一个包依赖于更高的版本,如信息消息 (B) 所示:
依赖关系图
包管理器一次只能安装一个包版本,因此它必须构造依赖关系图。此图是项目的每个直接和间接依赖项的列表。依赖关系图确定要安装的每个包的哪个版本。
锁定文件
当包管理器解决所有版本冲突时,它会将解决方案保存在锁定文件中,原因有两个: