goswagger生成swagger.yaml

wlwcrazw  于 2022-11-06  发布在  Go
关注(0)|答案(1)|浏览(200)

我正在尝试为go生成swagger.yaml。这里是goswagger文档https://goswagger.io/install.html的链接
我尝试了以下方法:

docker pull quay.io/goswagger/swagger

alias swagger='docker run --rm -it  --user $(id -u):$(id -g) -e GOPATH=$(go env GOPATH):/go -v $HOME:$HOME -w $(pwd) quay.io/goswagger/swagger'
swagger version

版本:v0.29.0提交:53696 caa 1 e8 a4 e5 b483 c87895 d54 eda 202 bb 3b 0的电子邮件地址
我试过了一个月一个月一个月一个月一个月一个月二个月一个月一个月三个月
但当我跑的时候

swagger generate spec -o ./swagger.yaml

我总是得到以下错误
错误:退出状态1:stderr:无法初始化/处的构建缓存。cache/go-build:mkdir /.缓存:权限被拒绝
如果我阅读错误,它似乎试图写入根目录,而不是我的主目录。

GO111MODULE=""
GOARCH="amd64"
GOBIN=""
GOCACHE="/Users/micahkimel/Library/Caches/go-build"
GOENV="/Users/micahkimel/Library/Application Support/go/env"
GOEXE=""
GOEXPERIMENT=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GOINSECURE=""
GOMODCACHE="/Users/micahkimel/go/pkg/mod"
GONOPROXY=""
GONOSUMDB=""
GOOS="darwin"
GOPATH="/Users/micahkimel/go"
GOPRIVATE=""
GOPROXY="https://proxy.golang.org,direct"
GOROOT="/usr/local/go"
GOSUMDB="sum.golang.org"
GOTMPDIR=""
GOTOOLDIR="/usr/local/go/pkg/tool/darwin_amd64"
GOVCS=""
GOVERSION="go1.18.3"
GCCGO="gccgo"
GOAMD64="v1"
AR="ar"
CC="clang"
CXX="clang++"
CGO_ENABLED="1"
GOMOD="/Users/micahkimel/go/src/GoDir/go.mod"
GOWORK=""
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -arch x86_64 -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/var/folders/4d/4xnmhr0j0478jh_6btr0nds80000gn/T/go-build1145095409=/tmp/go-build -gno-record-gcc-switches -fno-common"

感谢您的帮助!

xfb7svmp

xfb7svmp1#

我在这里的github问题中找到了答案https://github.com/go-swagger/go-swagger/issues/2633
我只需要在docker别名中设置GOCACHE

alias swagger='docker run --rm -it  --user $(id -u):$(id -g) -e GOCACHE=/tmp -e  GOPATH=$(go env GOPATH):/go -v $HOME:$HOME -w $(pwd) quay.io/goswagger/swagger'

相关问题