mirror of
https://github.com/gohugoio/hugo.git
synced 2025-08-24 21:56:05 +02:00
Use os.UserCacheDir as first fallback if cacheDir is not set
We will now try 1. cacheDir (or, commonly set in environment as `HUGO_CACHEDIR`) 2. if on Netlify we use `/opt/build/cache/hugo_cache/` 3. os.UserCacheDir 4. A temp dir Storing the cache, especially the module cache, in a temporary idea has had lots of hard to debug issues, especially on MacOS, which this commit tries to fix. This should also make it easier to locate the Hugo cache: >UserCacheDir returns the default root directory to use for user-specific cached data. Users should create their own application-specific subdirectory within this one and use that. > >On Unix systems, it returns $XDG_CACHE_HOME as specified by https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html if non-empty, else $HOME/.cache. On Darwin, it returns $HOME/Library/Caches. On Windows, it returns %LocalAppData%. On Plan 9, it returns $home/lib/cache. > >If the location cannot be determined (for example, $HOME is not defined), then it will return an error. Fixes #11286 Fixes #11291
This commit is contained in:
committed by
GitHub
parent
4d7af757c9
commit
b3f10556f0
19
main_test.go
19
main_test.go
@@ -375,8 +375,23 @@ func testSetupFunc() func(env *testscript.Env) error {
|
||||
return func(env *testscript.Env) error {
|
||||
var keyVals []string
|
||||
keyVals = append(keyVals, "HUGO_TESTRUN", "true")
|
||||
hugoCachedDir := filepath.Join(env.WorkDir, "hugocache")
|
||||
keyVals = append(keyVals, "HUGO_CACHEDIR", hugoCachedDir)
|
||||
keyVals = append(keyVals, "HUGO_CACHEDIR", filepath.Join(env.WorkDir, "hugocache"))
|
||||
xdghome := filepath.Join(env.WorkDir, "xdgcachehome")
|
||||
keyVals = append(keyVals, "XDG_CACHE_HOME", xdghome)
|
||||
home := filepath.Join(env.WorkDir, "home")
|
||||
keyVals = append(keyVals, "HOME", home)
|
||||
|
||||
if runtime.GOOS == "darwin" {
|
||||
if err := os.MkdirAll(filepath.Join(home, "Library", "Caches"), 0777); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
if runtime.GOOS == "linux" {
|
||||
if err := os.MkdirAll(xdghome, 0777); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
keyVals = append(keyVals, "SOURCE", sourceDir)
|
||||
|
||||
|
Reference in New Issue
Block a user