返回介绍

上卷 程序设计

中卷 标准库

下卷 运行时

源码剖析

附录

设置

发布于 2024-10-12 19:16:08 字数 1781 浏览 0 评论 0 收藏 0

工具链环境变量。

1. 查看

查看所有变量,或输出单个值。

$ go env

GOARCH="amd64"
GOCACHE="/root/.cache/go-build"
GOOS="linux"
GOPATH="/root/.go"

...

# 查看单个值。
$ go env GOPATH
/root/.go

# 查看环境变量帮助信息。
$ go help environment

除系统环境变量(bash env export)外,还可写入专用配置文件。

如同时设置,则系统环境变量优先级更高。

配置文件名: go env GOENV

# 添加设置。
$ go env -w GOPATH="$HOME/go2"

warning: go env -w GOPATH=... does not override conflicting 
OS environment variable

# 查看配置文件。
$ cat "`go env GOENV`"
GOPATH=/root/go2

# 删除设置。
$ go env -u GOPATH               # 删除设置。

2. 缓存

用 GOMODCACHE 设置模块缓存(下载)位置,默认 GOPATH[0]/pkg/mod

而 GOCACHE 缓存编译和测试结果。实现增量编译,缩短执行时间。

# 查看缓存目录。
$ tree -d -L 2 `go env GOMODCACHE`

/root/go
`-- pkg
    |-- mod
    `-- sumdb
    
# 清除模块缓存(按需重新下载)。
$ go clean -modcache
# 查看编译缓存目录。
$ ls `go env GOCACHE`

00  09  12  1b  24  2d  36  3f  48  ...
01  0a  13  1c  25  2e  37  40  49  ...

# 查看编译过程。
$ go build -x

# 清除编译缓存。
$ go clean -cache

3. 代理

工具链从 GOPROXY 所设置代理服务下载第三方包。

  • 永久存储(含依赖),只读(安全)。
  • 不依赖版本控制工具(VCS, git)。
  • 含验证信息。

以逗号分隔的多个地址。当前一地址出错(404 或 410)时,则继续尝试下一个代理。

最后以 direct 结尾,表示前面代理地址全部失效时,直接去源地址( github )获取。

默认使用 golang.org ,国内无法访问,可替换成 goproxy.cngoproxy.io

, 分隔,仅在 404、410 时尝试下一代理。

| 分隔,则返回任何 HTTP 错误都将尝试下一代理。

# 默认代理。
$ go env GOPROXY
https://proxy.golang.org,direct
# 自定义地址。
$ go env -w GOPROXY="https://goproxy.cn,https://goproxy.io,direct"

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文