首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >更改Ubuntu上的GOCACHE默认文件夹

更改Ubuntu上的GOCACHE默认文件夹
EN

Stack Overflow用户
提问于 2018-12-07 12:08:01
回答 2查看 5K关注 0票数 2

我要把所有的文件放到围棋的结构里去创建,而不是分散的。在更改GOPATH和GOROOT时,我注意到了~/..cache/go- build上的构建文件夹。

这个所以线一点帮助都没有,它所链接的文章也没有。它似乎并没有直接处理这个问题。我怎么才能改变呢?

编辑:问题不在于如何找到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

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-12-07 13:24:13

显示的错误

代码语言:javascript
运行
复制
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变量设置为在您的围堵区域内。

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

另一个环境的内部设置了变量,这些变量将授予

在Linux系统上,这个环境通常是bash。在用来设置GOPATH的bash shell中,经常使用命令"export =$ home / go“来将GOPATH设置为当前用户主目录中名为go的文件夹。若要设置GOCACHE,请在所使用的环境中设置变量,然后转到

票数 5
EN

Stack Overflow用户

发布于 2019-10-08 07:36:02

代码语言:javascript
运行
复制
cd $HOME    
sudo chown -R <yourname>.<yourname> .cache/go-build

对我来说很管用。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53669242

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档