首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >棉絮产生swagger.yaml

棉絮产生swagger.yaml
EN

Stack Overflow用户
提问于 2022-07-22 15:38:44
回答 1查看 192关注 0票数 1

我正在尝试为go生成swagger.yaml。下面是到https://goswagger.io/install.html文档的链接

我尝试了以下几点:

代码语言:javascript
运行
复制
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提交: 53696caa1e8a4e5b483c87895d54eda202beb3b0

我试过export GOCACHE=$HOME/Library/Caches/go-buildexport GOCACHE=offexport GOCACHE=/tmp/export GOCACHE=$HOME/.cache/go-build

但当我跑

代码语言:javascript
运行
复制
swagger generate spec -o ./swagger.yaml

我总是收到以下错误

错误:退出状态1: stderr:未能在/. cache /go- build : mkdir /.cache:权限拒绝处初始化生成缓存

如果我正在正确读取错误,它似乎是试图写入根目录,而不是我的主目录。这是我的go env vars

代码语言:javascript
运行
复制
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"

谢谢你的帮助!!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-07-26 16:16:38

我在这里的github问题中找到了答案,https://github.com/go-swagger/go-swagger/issues/2633

我只需要在码头别名中设置GOCACHE

代码语言:javascript
运行
复制
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'
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73082860

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档