问题
在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
本文介绍了一个在macOS环境下使用Go语言进行程序打包时遇到的问题及解决方案。作者发现当使用-ldflags参数时,程序会错误地显示帮助信息。通过调整BuildTime变量的引号使用方式,成功解决了该问题。
874

被折叠的 条评论
为什么被折叠?



