The Package Manager maintains a global cache for registry data and uncompressed packages. The global cache includes subsidiary caches, each serving a different purpose. The Package Manager stores the global caches in a default location, which you can override.
You might want to override the cache location for several reasons:
By default, the Package Manager uses the following folder structure for the global cache:
<global-cache-root>
├── npm
│ └── <registry data (package metadata and tarballs)>
├── packages
│ └── <uncompressed contents of package tarballs>
└── git-lfs (if enabled)
└── <downloaded Git LFS files>
For information on the default location of the global cache root, see global cache.
Note: The Package Manager maintains separate caches for the global cache and the Asset Store package cache. For information on overriding the default location for the Asset Store cache, see Customize the Asset Store cache location.
To override the default location of the global cache root, you can use the following methods:
cacheRoot
property in a user configuration file. If you want to set the configuration file manually, see Using a configuration file.UPM_CACHE_ROOT
环境变量和 cacheRoot
属性为全局缓存根设置了不同的值,Package Manager 使用 UPM_CACHE_ROOT
环境变量中的位置。UPM_NPM_CACHE_PATH
), the uncompressed packages cache (UPM_CACHE_PATH
), or the Git LFS cache (UPM_GIT_LFS_CACHE_PATH
), Package Manager uses the location specified by the environment variable, regardless of where the global cache root is.UPM_ENABLE_GIT_LFS_CACHE
),但未显式制定其路径 (UPM_GIT_LFS_CACHE_PATH
),Package Manager 将使用全局缓存根下的 git-lfs
文件夹作为其位置。To use the Preferences window to override the default location of the global cache, follow these steps.
Use one of the following methods to open the Preferences window:
Select the Package Manager category.
Under Packages, open the menu beside Cache Location .
Choose Change Location.
Choose a new location for the global cache.
You can manually edit the same configuration file that the Preferences window sets to override the location of the global cache root:
Locate the .upmconfig.toml
user configuration file. To find the file location, see Configuration files. If the file doesn’t exist, create an empty text file.
使用绝对路径为 cacheRoot
属性设置一个自定义位置。例如:
cacheRoot = "/dev/external/shared/Unity/cache"
You don’t need to restart the Unity Editor or the Hub after updating the cacheRoot
property for the change to take effect.
In scenarios that involve automation or continuous integration, it’s less practical and more error prone to configure settings in a configuration file or a preferences window. In such scenarios, you might consider using environment variables to configure settings for the global cache and its subsidiary caches. The following environment variables are available:
环境变量: | 描述: |
---|---|
UPM_CACHE_ROOT |
Specify the location of the global cache (the root folder containing the registry data and uncompressed packages caches). |
UPM_NPM_CACHE_PATH |
Specify the absolute path to the location where you want Package Manager to store package metadata and tarballs. By default, this is the npm subdirectory under the global cache root. |
UPM_CACHE_PATH |
Specify the absolute path to the location where you want Package Manager to store the uncompressed contents of package tarballs. By default, this is the packages subdirectory under the global cache root. |
UPM_ENABLE_GIT_LFS_CACHE |
Specify any value except empty ("") to enable the Git LFS cache. By default, Package Manager uses the git-lfs subdirectory under the global cache root, unless you specify a different path using the UPM_GIT_LFS_CACHE_PATH environment variable. |
UPM_GIT_LFS_CACHE_PATH |
指定您希望 Package Manager 存储 Git LFS 缓存的位置的绝对路径。通过设置此路径,您会自动启用 Git LFS 缓存。 |
Important: Follow these guidelines when you use this method:
For information on setting environment variables, refer to the documentation for your operating system. For an introduction to environment variables, see https://en.wikipedia.org/wiki/Environment_variable.
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.