go build 打包无法生成版本号却显示帮助信息

问题
在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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值