You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用goswagger生成swagger.yaml时遇构建缓存权限错误求助

解决goswagger生成spec时GOCACHE权限错误问题

问题原因

使用Docker版goswagger时,容器内的Go工具未获取到本地的GOCACHE环境变量,默认尝试写入根目录下的/.cache/go-build,但当前非root用户无该目录写入权限,导致报错。

解决方案

修改你的swagger别名,将本地的GOCACHE环境变量传递到Docker容器中:

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

验证操作

重新执行生成命令:

swagger generate spec -o ./swagger.yaml

补充说明

如果更倾向于禁用缓存或使用临时目录,也可以直接在别名中指定:

  • 禁用缓存:将-e GOCACHE=$(go env GOCACHE)替换为-e GOCACHE=off
  • 使用临时目录:替换为-e GOCACHE=/tmp

内容的提问来源于stack exchange,提问作者micah

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.25 17:27:26