安装过程与主 () 版本相同,只是您需要再执行一个附加步骤,即在将存储库克隆到临时目录后签出标记:devv0.25.0dir=$(mktemp -d) git clone https://github.com/go-swagger/go-swagger "$dir" cd "$dir"# Checkout version v0.25.0git 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 binarygo 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注意:如果您这样做,从技术上讲,它仍将安装 v0.25.0,但子命令会将其报告为 。版本信息只是从git存储库作为包中的变量内容传递出来的装饰性内容,您可以在此处的CircleCI配置文件中看到作者如何执行此操作。最终,您还可以添加其他标志来获得静态构建(但它们在官方的从源代码安装说明中不会这样做)。go install ./cmd/swaggerswagger versiondevcommands完成后,您应该在 中安装 go-swagger v0.25.0,验证:$GOPATH/bin$ swagger versionversion: v0.25.0commit: f032690aab0634d97e2861a708d8fd9365ba77d2