问题
在macOS上打包go的程序,结果却发现只要是加了那一行 -ldflags
运行就会显示帮助信息。
打包命令如下:
env CGO_ENABLED=0 GOOS=linux GOARCH=amd64 \
go build -o dist/demo \
-ldflags "-X main.Version=1.0.0 -X main.BuildTime=`date -R`" \
demo.go mysql.go server.go version.go
解决办法
需要在main.BuildTime
这一段两边都加单引号。如下:
env CGO_ENABLED=0 GOOS=linux GOARCH=amd64 \
go build -o dist/demo \
-ldflags "-X main.Version=1.0.0 -X 'main.BuildTime=`date -R`'" \
demo.go mysql.go server.go version.go
打包成功。
参考 https://stackoverflow.com/questions/11354518/application-auto-build-versioning
仔细阅读评论。Author: coconets@163.com