将go swagger替换为Windows中的另一个版本



我在Windows 10中使用go1.14.1go-swagger版本dev。我使用"从源代码安装"安装了go-swagger

我想使用go-swagger版本0.25。用0.25替换dev的干净方法是什么?

安装过程与主(dev(版本相同,只是您需要再做一个额外的步骤,即在将repo克隆到临时目录后签出标记v0.25.0

dir=$(mktemp -d) 
git clone https://github.com/go-swagger/go-swagger "$dir" 
cd "$dir"
# Checkout version v0.25.0
git checkout v0.25.0
# Continue with installation, instead of
# go install ./cmd/swagger
# use this which just adds version information (current tag) and commit id to binary
go install -ldflags "-X github.com/go-swagger/go-swagger/cmd/swagger/commands.Version=$(git describe --tags) -X github.com/go-swagger/go-swagger/cmd/swagger/commands.Commit=$(git rev-parse HEAD)" ./cmd/swagger

注意:如果只执行go install ./cmd/swagger,从技术上讲,它仍然会安装v0.25.0,但swagger version子命令会将其报告为dev。版本信息只是作为commands包中变量的内容从git存储库传递下来的一个装饰性的东西,您可以在这里的CircleCI配置文件中看到作者是如何做到这一点的。最终,您还可以添加其他标志来获得静态构建(但在官方的从源代码安装指令中,它们不会这样做(。

一旦完成,你应该在你的$GOPATH/bin中安装go-swagger v0.25.0,用验证

$ swagger version
version: v0.25.0
commit: f032690aab0634d97e2861a708d8fd9365ba77d2

最新更新