随着模块不断升级,时间久了,pkg
目录越来越大,导致专门为 Linux 下编译开的虚拟机空间爆满。
1
2
3
4
5
6
7
8
9
$ df -h
Filesystem Size Used Avail Use% Mounted on
udev 472M 0 472M 0% /dev
tmpfs 99M 624K 98M 1% /run
/dev/sda1 9.8G 9.0G 277M 98% /
tmpfs 493M 0 493M 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 493M 0 493M 0% /sys/fs/cgroup
tmpfs 99M 0 99M 0% /run/user/1000
查看文件夹占用空间
1
2
3
4
$ du -sh *
28M bin
4.0G pkg
1.2G src
文件夹说明
- src: 源码文件
- bin: 编译生成的而可执行文件
- pkg: 平台相关目录(目标操作系统目录),编译后生成的文件
用命令 go clean -modcache
清除模块缓存
1
2
3
4
5
6
7
8
9
10
$ go clean -modcache
$ df -h
Filesystem Size Used Avail Use% Mounted on
udev 472M 0 472M 0% /dev
tmpfs 99M 628K 98M 1% /run
/dev/sda1 9.8G 4.2G 5.1G 46% /
tmpfs 493M 0 493M 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 493M 0 493M 0% /sys/fs/cgroup
tmpfs 99M 0 99M 0% /run/user/1000
哈哈,剩余空间又变大了,接下来到项目目录下编译,又会下载依赖,但不会占用那么大空间。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
$ go build .
go: downloading github.com/valyala/fasthttp v1.37.0
go: downloading golang.org/x/crypto v0.0.0-20220525230936-793ad666bf5e
go: downloading github.com/andybalholm/brotli v1.0.4
go: downloading github.com/klauspost/compress v1.15.6
go: downloading github.com/valyala/bytebufferpool v1.0.0
......
$ df -h
Filesystem Size Used Avail Use% Mounted on
udev 472M 0 472M 0% /dev
tmpfs 99M 628K 98M 1% /run
/dev/sda1 9.8G 4.8G 4.5G 52% /
tmpfs 493M 0 493M 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 493M 0 493M 0% /sys/fs/cgroup
tmpfs 99M 0 99M 0% /run/user/1000
Go build cache
清除 Go build 缓存
1
2
3
go env GOCACHE
du -hs $(go env GOCACHE)
go clean --cache
本文网址: https://golangnote.com/topic/310.html 转摘请注明来源