Version: 2021.3
项目清单
Git 依赖关系

嵌入式依赖项

项目的 Packages 文件夹下出现的所有包都是嵌入在该项目中的。您可以通过多种方式嵌入包:

嵌入式包无需在项目清单中显示为依赖项;但是,如果嵌入了某个版本的已安装包,则项目清单仍会列出对原始已安装版本的依赖项。在这种情况下,磁盘上的包优先于列为依赖项的包版本,因此不需要从项目清单中删除它。例如,如果项目清单指定了对 com.unity.example 版本 1.3.1 的依赖项,但是项目还具有该名称的嵌入式包,则 Package Manager 将使用嵌入式包(无论是否是其明显版本),而不是从注册表下载版本 1.3.1。

确保您跟踪嵌入式包的内容以及对其所做的任何更改。如果您的 Unity 项目在源代码控制下,则还应将该项目中嵌入的任何包添加到同一源代码控制下。

创建新的自定义包

要嵌入新包,请在 Packages 文件夹下的一个文件夹中创建新包内容。有关更多信息,请按照创建自定义包的说明

通常,您的新包会一直嵌入到您的项目中,直到您准备与其他用户共享以及在其他项目中对其进行测试。然后您可以将它发布到范围包注册表

从缓存中复制 Unity 包

在缓存中找到包文件夹的最可靠方法是直接在 Unity 编辑器中找到已安装的版本:

1.从 Project 视图中,找到要嵌入的已安装包。

2.右键单击以打开上下文菜单并选择 Show in Explorer (Windows) 或 Reveal in Finder (macOS)。该包的文件夹直接在文件浏览器中打开并使用 <package-name>@<package-version> 命名约定。

![文件浏览器打开到项目的包缓存下的包文件夹](../uploads/Main/upm-embed.png)

**提示**:您也可以直接在您的文件浏览器或命令行打开项目的包缓存 (`<project>/Library/PackageCache`) 并导航到正确的文件夹,但让编辑器为您查找会更可靠,因为除了在项目缓存中定位包外,它还可以定位从本地文件夹或 tarball 安装的包,以及已经嵌入的包。

3.复制包文件夹并将其直接粘贴到项目的 Packages 文件夹中。不要将它放在 Assets 文件夹中,因为 Package Manager 不会扫描该文件夹查找包。

4.删除文件夹名称的 @<package-version> 部分。

5.如果您的项目已经在源代码管理之下,则将新嵌入的包添加到源代码管理。

注意:您也可以在全局缓存下找到包文件夹,但全局缓存包含 Unity 编辑器在系统上曾安装过的所有版本的包,因此请谨慎选择与项目编辑器版本兼容的版本。


项目清单
Git 依赖关系