Ubuntu 22.04安装go-swagger失败:无法定位swagger包求助
解决Ubuntu 22.04安装go-swagger提示“Unable to locate package swagger”的问题
问题原因
该问题源于两个核心问题:
- Ubuntu 22.04已弃用
apt-key add命令管理GPG密钥,原命令的密钥导入方式会导致系统无法正常验证源的合法性 - 原命令使用
distro=debian&codename=any-version的源配置,未适配Ubuntu 22.04(Jammy Jellyfish)的版本识别规则,导致APT更新后无法匹配到对应包
解决步骤(APT方式)
清理原有错误配置
- 删除旧的源列表文件:
sudo rm /etc/apt/sources.list.d/go-swagger-go-swagger.list - 移除已导入的过期密钥:
sudo apt-key del 2F8CB673971B5C9E
- 删除旧的源列表文件:
重新配置源与密钥(适配Ubuntu 22.04)
- 创建GPG密钥官方存储目录:
sudo mkdir -p /etc/apt/trusted.gpg.d - 下载并导入密钥到合规位置(规避
apt-key兼容性问题):curl -1sLf 'https://dl.cloudsmith.io/public/go-swagger/go-swagger/gpg.2F8CB673971B5C9E.key' | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/go-swagger-go-swagger.gpg - 配置适配Ubuntu 22.04(Jammy)的源:
curl -1sLf 'https://dl.cloudsmith.io/public/go-swagger/go-swagger/config.deb.txt?distro=ubuntu&codename=jammy' | sudo tee /etc/apt/sources.list.d/go-swagger-go-swagger.list
- 创建GPG密钥官方存储目录:
更新源并安装swagger
- 更新APT缓存:
sudo apt update - 安装go-swagger:
sudo apt install swagger
- 更新APT缓存:
备用方案(Go模块安装,适合已装Go环境)
若系统已安装Go 1.16+,可直接通过Go模块安装:
go install github.com/go-swagger/go-swagger/cmd/swagger@latest
安装完成后,将Go二进制目录添加到系统PATH(未添加过的话执行):
echo 'export PATH="$PATH:$HOME/go/bin"' >> ~/.bashrc source ~/.bashrc
内容的提问来源于stack exchange,提问作者Sutrisno
相关产品推荐
相关产品推荐

