当前位置: 首页 > news >正文

网站建设 云计算免费网站安全软件下载

网站建设 云计算,免费网站安全软件下载,做瓷砖在什么网站上找素材好,wordpress建站是什么意思前言 最近小编在 构建一个项目时出现了问题,提示报错里ambiguous import;查询了解到是 依赖包存在多个不同版本的问题 这样的情况要怎么解决呢? 小编先是将问题抛给了 chatgpt,得到了如下的信息: # 清理缓存 go clea…

前言

最近小编在 构建一个项目时出现了问题,提示报错里ambiguous import;查询了解到是 依赖包存在多个不同版本的问题
在这里插入图片描述这样的情况要怎么解决呢?
小编先是将问题抛给了 chatgpt,得到了如下的信息:

# 清理缓存
go clean -modcache
# 重新拉取
go get github.com/gin-gonic/gin

小编按照上述提示照做了,仍然不行。
于是小编想要猜测是 有多个依赖包引用了不用版本的;小编想要找出是哪些版本依赖了共同的 ugorji包。于是就有了下面的处理思路。

安装go项目依赖可视化相关模块

小编想要通过查看 项目依赖包的关系找出 依赖ugorji的包,仍然选择先问了chatgpt,然后得到了:

  • go mod graph 命令会打印出模块依赖图: 只输出文字,很难查找;
  • graphpkg 是一个命令行工具,可以将 Go 模块的依赖关系转换成图形格式
npm install -g graphpkg
graphpkg dot | dot -Tpng > graph.png
  • modgraphviz 是一个 Go 工具,可以将 go mod graph 的输出转换成 Graphviz 的 DOT 格式
go get -u github.com/kisielk/modgraphviz
go mod graph | modgraphviz | dot -Tpng -o modgraph.png
  • godepgraph 是一个简单的工具,用于生成 Go 项目依赖关系的图形表示。
go get -u github.com/kisielk/godepgraph
godepgraph -s github.com/your/module | dot -Tpng -o dependency-graph.png
  • goviz 是另一个可视化工具,它能够生成 Go 包依赖关系的图形表示。
go get -u github.com/kyroy/goviz
goviz -p github.com/your/module | dot -Tpng -o dependency-graph.png
  • gmchart 直接将包依赖关系在浏览器呈现,使用简单
# 安装
go get -u github.com/PaulXu-cn/go-mod-graph-chart/gmchart
# 在项目下使用
go mod graph |gmchart

最终小编选择了最简单又很强大的gmchart

在这里插入图片描述
在浏览器上得到了 依赖包的可视化图:
在这里插入图片描述这张图里展现的依赖关系很多,要怎么查找想要的信息呢?

查找依赖包

首先根据下面的错误提示,定位到是 ugorji存在多版本问题
在这里插入图片描述那么就可以根据这个信息全局搜索定位了:
1)gin下引用了ugorji 1.2.7
在这里插入图片描述2)viper引用了 ugorji 1.1.4
在这里插入图片描述好了,问题已经定位到了。viper使用了低版本的ugorji,只需要引用将ugorji 版本和gin下使用的版本一致即可。

解决问题

上面定位到使用了低版本的ugorji,因此小编赶紧取viper的github上从最新版本查找ugorji使用的版本
在这里插入图片描述
发现最新版本已经没有引用ugorji了。
在这里插入图片描述接着,小编直接修改了本地项目引用的viper版本到最新
在这里插入图片描述
再继续执行如下操作:

go clean -modcache
go mod tidy

执行成功啦~

总结

遇到ambiguous import时有如下几个步骤:

  1. 使用go可视化项目依赖工具,可视化依赖包关系
# 安装
go get -u github.com/PaulXu-cn/go-mod-graph-chart/gmchart
# 在项目下使用
go mod graph |gmchart
  1. 根据错误提示,在打开的图片里,搜索关键字ugorji,定位使用该模块的上级依赖包
  2. 找出使用ugorji依赖更低的上一级,去github上找最新版本下ugorji的版本,直到使用的依赖包一致
  3. 若上述步骤不ok,可将使用ugorji的所有依赖,去github上搜索最新版本是否一致,或使用替代的依赖项

参考文档:

go mod graph 可视化——gmchart
chatgpt

http://www.wooajung.com/news/30363.html

相关文章:

  • 著名的淘宝客网站360收录提交入口
  • 济南网站自然优化驻马店百度seo
  • 怎么做电商运营的基本步骤seo和sem
  • 长沙网站建站南宁seo外包服务
  • asp网站上传到服务器上之后一打开就是download网络营销公司全网推广公司
  • 网站制作公透明清晰百度关键词优化软件网站
  • 网站建设费用是多少怎么样建一个网站
  • 网站下拉菜单代码云南网站推广公司
  • 做投注网站多少钱最近一周的新闻
  • 建设银行网站维护百度搜索风云榜总榜
  • 贵阳做网站优化域名注册网站系统
  • 深圳网站建设吗成都网站建设系统
  • 南昌网站建设利润公司怎么做网络营销
  • 校园内部网站平台建设方案产品seo基础优化
  • 苏州做网站多少钱广州seo托管
  • 做网站怎么投放广告免费个人网站平台
  • 如何识别网页用什么网站做的外贸推广优化公司
  • 在线做h5 的网站安徽网站推广公司
  • 宿迁环保局网站建设局qq群排名优化软件购买
  • 上海 网站建设大连网站推广
  • 新疆建设云网站施工图审查上海百度推广开户
  • 淄博做网站公司网站推广技巧
  • 建设游戏运营网站开展工作内容自己搭建网站
  • 一般电商网站做集群深圳网站设计专业乐云seo
  • 一个人做网站深圳网络推广系统
  • 成都网站建设制作推广普通话手抄报内容简短
  • wordpress建站教程第六节重庆 seo
  • cadisen卡迪森手表网站培训机构招生7个方法
  • 商丘网站建设和制作拉新推广怎么快速拉人
  • 手机网站免费建设长沙建站优化