Unity Package Manager 在下载包内容和元数据时,会将它们存储在全局缓存中。这样可以更有效地重复使用和共享包,甚至在脱机时也可以安装和更新存储的包。
默认情况下,Unity 将全局缓存存储在根目录中,根目录取决于操作系统(在 Windows 上还取决于用户帐户类型):
操作系统 | 默认根目录 |
---|---|
Windows(用户帐户) | %LOCALAPPDATA%\Unity\cache |
Windows(系统用户帐户) | %ALLUSERSPROFILE%\Unity\cache |
macOS | $HOME/Library/Unity/cache |
Linux | $HOME/.config/unity3d/cache |
提示:您可以覆盖此根目录的位置,方法是在用户配置文件中使用 UPM_CACHE_ROOT
环境变量或 cacheRoot
属性。有关更多信息,请参阅自定义共享缓存位置。
Package Manager 使用两个不同的共享缓存,每个有不同的用途。它们存储在上述文件夹位置下的子目录中:
子文件夹 | 描述 |
---|---|
npm |
存储使用 npm 协议从注册表获得的数据。这包括包元数据和包 tarball。 |
packages |
此缓存包含从注册表获取的包 tarball 的未压缩内容。 |
在每个子文件夹中,每个注册表都有其自己的路径,因此不会混淆托管在不同注册表中的包。
提示:您可以使用环境变量覆盖这些文件夹的位置。有关更多信息,请参阅自定义共享缓存位置。
运行 Unity Editor 进程的用户帐户必须对根目录及其内容具有完全写权限。没有这些权限,Package Manager 将无法下载包元数据和内容,也无法将它们保存在缓存中。