【发布时间】:2018-09-09 02:58:20
【问题描述】:
我有一个 main.go 文件,其中有一个 glide.yaml 文件(源代码见下文),位于一个干净的 gopath 中(没有其他存储库)
运行 go get -u ./... 然后 go build main.go 生成大小为 2377872 字节的二进制文件。
清理从go get 克隆的任何repos 的gopath,然后运行glide update 然后go build main.go 生成大小为2457328 字节的二进制文件。
如果没有代码更改,为什么二进制文件大小不同?
go build 有什么不同?为什么有供应商目录(或没有供应商目录)会影响这个大小?
使用的软件版本
glide version 0.13.1
go version go1.10.3 darwin/amd64
main.go
package main
import (
log "github.com/sirupsen/logrus"
)
func main () {
log.WithFields(log.Fields{
"qqs": "q1",
}).Info("Why are binaries different?")
}
glide.yaml
package: github.com/chuyval/qqs/q1
import:
- package: github.com/sirupsen/logrus
version: 1.0.6
【问题讨论】:
标签: go glide-golang