gpt4 book ai didi

go - 在 Ubuntu Linux 上更改 GOCACHE 默认文件夹

转载 作者:IT王子 更新时间:2023-10-29 02:31:10 25 4
gpt4 key购买 nike

我必须把GO创建的所有文件都放在GO的结构里面,不能散乱。在更改 GOPATH 和 GOROOT 时,我注意到 ~/.cache/go-build 上的构建文件夹。

SO thread根本没有帮助,也没有the article it links .它似乎没有直接处理这个问题。我该如何更改它?

编辑:问题不在于如何找到 GOCACHE,我已经知道可以通过 go env GOCACHE 查看它,但是我怎样才能更改该文件夹

我尝试添加到 ~/.bashrc: export GOCACHE=$HOME/path/to/folder , 现在当我使用 go env GOCACHE , 它指向新文件夹但仍尝试将文件发送到 ~/.cache/go-build .日志文件现在返回以下错误:

go: disabling cache (/home/<me>/.cache/go-build) due to initialization failure: mkdir /home/<me>/.cache/go-build: permission denied

最佳答案

显示的错误

go: disabling cache (/home/<me>/.cache/go-build) due to initialization failure: mkdir /home/<me>/.cache/go-build: permission denied

是因为目录/home/<me>/.cache/go-build不存在并且没有创建新目录的权限。这不应该发生,似乎构建过程中的一些未知因素正在破坏 GOCACHE 设置

您确实有一个名为 <me> 的用户吗? ?这是非常不寻常和不明智的,因为 <>是 shell 元字符

关于设置路径,见https://github.com/golang/go/blob/master/src/cmd/go/internal/cache/default.gohttps://golang.org/pkg/os/#UserCacheDir

如果设置了 GOCACHE 环境变量,那么它会使用它。如果不是,它使用 os.UserCacheDir,通常是 $HOME/.cache 但可以被覆盖,请参阅文档

简单的答案是将 GOCACHE env 变量设置在您的 Go 容器区域内

只是为了澄清。 Go 编译器和工具在另一个环境中运行。

这个其他环境在其中设置了变量,Go 将遵守这些变量

在 Linux 系统上,这个环境通常是 bash shell。在 bash shell 中设置 GOPATH 命令“export GOPATH=$HOME/go”经常被使用,将 GOPATH 设置到当前用户主目录中名为 go 的文件夹中。要设置 GOCACHE,请在您正在使用的环境中设置变量,Go 将获取它

关于go - 在 Ubuntu Linux 上更改 GOCACHE 默认文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53669242/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com