G

[Golang]Gin框架 Swaggo踩坑记录

RoLingG 2024-05-10

Swaggo踩坑解决办法

如果在Go开发中要用到 swag,我们一般都会根据下面三条命令去下载:

go install github.com/swaggo/swag/cmd/swag@latest

go get -u github.com/swaggo/gin-swagger
go get -u github.com/swaggo/files

然后再一般来说,我们install完之后在main.go里配置好,在项目根目录下执行对应swag的命令就能在指定目录下生成对应的docs目录和文件。

package main
import ...

// @title 标题
// @version    1.0    版本号
// @description 描述
// @host 127.0.0.01:8080    主机地址
// @BasePath /    在哪个根目录下生成docs目录
func main() {...}
//cmd
PS 某盘:\项目根目录> swag init

但是,有可能直接这样做会报错:

Swag∶无法将“swag"项识别为 cndlet、函数﹑脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径﹐请确保路径正确,然后再试一次。
所在位置行:1字符∶1

出现这种情况,我们先去项目的go.mod文件里面看是否有下面三条代码:

github.com/swaggo/files v1.0.1 // indirect
github.com/swaggo/gin-swagger v1.6.0 // indirect
github.com/swaggo/swag v1.16.3 // indirect

有的话,就说明了 swag 安装成功了,安装是没出问题的。(没有的话还请自己去删除然后重下

之后我们去安装 Golang 编译器的 bin 目录看一眼,这里我就拿Goland举例(主要其他的编译器我也没用过)

我们到bin目录下查看是否有swag.exe这个文件,有的话,就把这个文件配置到系统环境变量中,确保在哪都能使用这个文件。

如果没有的话,到 Gopath/pkg/mod/github.com/go-swagger 目录下(这里如果不知道 Gopath 在哪的话,去项目的CMD里输入 go env 去看),跳转到刚刚 go-swagger 这个目录下用CMD执行 go install ./cmd/swaggershu,这样会编译生成一个 swagger.exe 文件放在 Gopath/bin 目录下。查看版本,显示 dev 则安装完成。

swagger version
dev
某些情况下可能仍不成功,则检测一下系统环境变量,将 Gopath/bin 加入系统环境变量的 path 变量中。重启命令行窗口后再次检查版本,此时应该可以了。

然后再将文件配置到系统环境变量就行了。

祝各位开发顺利,少遇到这些奇奇怪怪的东西。

PREV
[Golang基础] Context的用法
NEXT
[Golang] gRPC框架 gRPC前瞻

评论(0)

发布评论