Unity Package Manager 在下载包内容和元数据时,会将它们存储在全局缓存中。这样可以更有效地重复使用和共享包,甚至在脱机时也可以安装和更新存储的包。
默认情况下,Unity 将全局缓存存储在根目录中,根目录取决于操作系统(在 Windows 上还取决于用户帐户类型):
操作系统 | 默认根目录 |
---|---|
Windows(非系统用户帐户) | %LOCALAPPDATA%\Unity\cache |
Windows(系统用户帐户) | %ALLUSERSPROFILE%\Unity\cache |
macOS | $HOME/Library/Unity/cache |
Linux | $HOME/.config/unity3d/cache |
Package Manager 使用两个不同的共享缓存,每个有不同的用途。它们存储在上述文件夹位置下的子目录中:
子文件夹 | 描述 |
---|---|
npm |
存储使用 npm 协议从注册表获得的数据。这包括包元数据和包 tarball。 |
packages |
此缓存包含从注册表获取的包 tarball 的未压缩内容。 |
在每个子文件夹中,每个注册表都有其自己的路径,因此不会混淆托管在不同注册表中的包。
运行 Unity Editor 进程的用户帐户必须对根目录及其内容具有完全写权限。没有这些权限,Package Manager 将无法下载包元数据和内容,也无法将它们保存在缓存中。
可以使用两个环境变量来覆盖任一全局缓存文件夹:
UPM_NPM_CACHE_PATH 覆盖 npm 文件夹路径。例如 (macOS):
UPM_NPM_CACHE_PATH=/dev/ssd/shared/Unity/cache/npm
UPM_CACHE_PATH 覆盖 packages 文件夹路径。例如 (macOS):
UPM_CACHE_PATH=/dev/ssd/shared/Unity/cache/packages
更改这些环境变量中的任何一个后,必须重新启动 Unity Editor 和 Hub 才能使更改生效。
Did you find this page useful? Please give it a rating:
Thanks for rating this page!
What kind of problem would you like to report?
Thanks for letting us know! This page has been marked for review based on your feedback.
If you have time, you can provide more information to help us fix the problem faster.
Provide more information
You've told us this page needs code samples. If you'd like to help us further, you could provide a code sample, or tell us about what kind of code sample you'd like to see:
You've told us there are code samples on this page which don't work. If you know how to fix it, or have something better we could use instead, please let us know:
You've told us there is information missing from this page. Please tell us more about what's missing:
You've told us there is incorrect information on this page. If you know what we should change to make it correct, please tell us:
You've told us this page has unclear or confusing information. Please tell us more about what you found unclear or confusing, or let us know how we could make it clearer:
You've told us there is a spelling or grammar error on this page. Please tell us what's wrong:
You've told us this page has a problem. Please tell us more about what's wrong:
Thank you for helping to make the Unity documentation better!
Your feedback has been submitted as a ticket for our documentation team to review.
We are not able to reply to every ticket submitted.