包含此页的版本:
不含此页的版本:
包管理器为压缩包内容和注册表元数据维护全局缓存。
全局缓存与包管理器为资产包维护的缓存是分开的。有关资产包来自 Unity 项目或项目元素的文件和数据的集合,这些文件和数据被压缩并存储在一个文件中,类似于 Zip 文件,使用.unitypackage外延。资产包是共享和重用 Unity 项目和资产集合的便捷方式。更多信息
请参阅术语表cache,请参阅自定义资产包缓存位置。
默认情况下,包管理器的全局缓存根具有以下子目录,每个子缓存都有不同的用途:
db子目录存储注册表数据(包元数据和 tarball)。git-lfs子目录存储下载的 Git 大文件存储 (LFS) 文件。
注意:如果您使用 Unity 编辑器 2023.2 创建了项目,则您的全局缓存可能还具有packages子目录。从 Unity 6.0 Beta 开始,包管理器不再使用此子目录。如果您不再维护使用旧版本的编辑器创建的项目,则可以删除此子目录。
包管理器将全局缓存存储在默认位置,您可以覆盖该位置。有关全局缓存根的默认位置的信息,请参阅全局缓存。
出于以下几个原因,您可能希望覆盖全局缓存位置:
从 2023.2.0f1 开始,最大大小db子目录默认为 10 GB,您可以覆盖该 GB。您可能希望覆盖db子目录,原因如下:
下表说明了可用于覆盖默认属性的不同方法:
| 方法 | 全局缓存位置 | db子目录最大大小 |
附加说明 |
|---|---|---|---|
| 首选项窗口 | 是的 | 不 | 这是推荐的方法,因为它简单且持久。使用此方法更改包缓存位置时,Unity 会存储当前和未来 Unity 编辑器会话的首选项。 |
| 用户配置文件 | 是的 | 是的 | 用户配置文件中的包缓存属性覆盖会在当前 Unity 编辑器会话之后保留。 |
| 环境变量 | 是的 | 是的 | 默认情况下,此方法设置当前命令提示符(或终端)会话的配置,但您可以在作系统设置中将其永久化。在特定用例中,高级用户可能更喜欢基于会话的变量。 |
注意:使用“首选项”窗口设置全局缓存位置也会将cacheRoot用户配置文件中的属性。如果要手动设置用户配置文件,请参阅使用用户配置文件。
db子目录,并且新大小小于该子目录的当前大小,则包管理器将从缓存中逐出内容,直到达到新限制。包管理器首先逐出最近使用最少的内容(基于项目的安装日期)。UPM_NPM_CACHE_PATH) 或 Git LFS 缓存 (UPM_GIT_LFS_CACHE_PATH),包管理器使用环境变量指定的位置,而不管全局缓存根目录在哪里。UPM_ENABLE_GIT_LFS_CACHE),而不显式设置其路径(UPM_GIT_LFS_CACHE_PATH),包管理器使用git-lfs文件夹作为其位置。要使用“首选项”窗口覆盖全局缓存的默认位置,请执行以下步骤。
使用以下方法之一打开“首选项”窗口:
选择“包管理器”类别。
在 包(Packages) 下,打开 缓存位置(Cache Location) 旁边的文件夹菜单。
选择更改位置。
为全局缓存选择一个新位置。
您可以手动编辑用户配置文件以覆盖全局缓存根的位置,或db子目录,或两者。
按照以下步骤编辑用户配置文件:
找到.upmconfig.toml用户配置文件。要查找文件位置,请参阅配置文件。如果该文件不存在,请创建一个空文本文件。
要覆盖全局缓存根的位置,请将cacheRoot键并将其值设置为自定义位置的绝对路径。重要提示:在 TOML 文件中设置 Windows 路径时,请使用正斜杠 () 或双反斜杠 ()。不要使用单反斜杠 (),因为它们是标记转义序列的特殊字符,可能会导致 TOML 解析错误。/\\\
要覆盖db子目录中,将maxCacheSize键并将其值设置为表示字节数的正整数。例如,要将大小设置为 5 GB,请分配一个值5000000000.
设置任一属性后,无需重新启动 Unity 编辑器或 Hub,更改就会生效。
Windows 示例
cacheRoot = "E:\\Unity\\cache"
maxCacheSize = 5000000000
macOS 和 Linux 示例
cacheRoot = "/dev/external/shared/Unity/cache"
maxCacheSize = 5000000000
在涉及自动化或持续集成的方案中,在用户配置文件或“首选项”窗口中配置设置不太实用,也更容易出错。在这种情况下,您可以考虑使用环境变量来配置全局缓存及其附属缓存的设置。以下环境变量可用:
| 环境变量 | 描述 |
|---|---|
UPM_CACHE_ROOT |
指定全局缓存的位置(包含注册表数据和未压缩包缓存的根文件夹)。 |
UPM_NPM_CACHE_PATH |
指定您希望包管理器用于其注册表数据缓存的位置的绝对路径。默认情况下,这是db全局缓存根目录下的子目录。 |
UPM_ENABLE_GIT_LFS_CACHE |
指定除空 (“”) 之外的任何值以启用 Git LFS 缓存。默认情况下,包管理器使用git-lfs子目录,除非您使用UPM_GIT_LFS_CACHE_PATH环境变量。 |
UPM_GIT_LFS_CACHE_PATH |
指定您希望包管理器存储 Git LFS 缓存的位置的绝对路径。通过设置此路径,您可以自动启用 Git LFS 缓存。 |
UPM_MAX_CACHE_SIZE |
指定注册表数据缓存的最大大小(db子目录)作为正整数,以字节为单位。例如,要将大小设置为 5 GB,请将值5000000000. |
重要提示: 使用此方法时,请遵循以下准则:
有关设置环境变量的信息,请参阅作系统的文档。有关环境变量的介绍,请参阅 https://en.wikipedia.org/wiki/Environment_variable。