我在干净的 gopath 中有一个带有 glide.yaml 文件的 main.go 文件(源代码见下文)(没有其他存储库)
运行go get -u ./...
然后go build main.go
生成大小为 2377872 字节的二进制文件。
清理从 克隆的任何 repos 的 gopath ,然后go get
运行生成大小为 2457328 字节的二进制文件。glide update
go build main.go
如果没有代码更改,为什么二进制文件大小不同?有什么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?")
}
滑翔.yaml
package: github.com/chuyval/qqs/q1
import:
- package: github.com/sirupsen/logrus
version: 1.0.6