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 变量中。重启命令行窗口后再次检查版本,此时应该可以了。
然后再将文件配置到系统环境变量就行了。
祝各位开发顺利,少遇到这些奇奇怪怪的东西。
评论(0)