go - 无法构建具有外部模块本地副本的项目
问题描述
我有一个使用外部库的项目,该库中有一个错误。为了修复这个错误,我试图做的是克隆外部库,将它放在项目的子目录中,然后在那里修复它。因此,example.com/example/example/
如果外部库是example
example.com/example/example/
go.mod
example.com/example/example/
myproject/example/
问题是该项目无法编译。无论何时go build
执行,它都会返回一个错误:no matching versions for query "latest"
. 我发现构建项目的唯一方法是删除go.mod
克隆的外部库的文件,但这似乎不正确。那么构建这样一个项目的正确方法是什么?
解决方案
正确的方法是使用替换指令。
这个想法是从顶层go.mod
文件替换导入依赖的模块名称,而不改变外部依赖。
所以我所要做的就是添加replace example.com/example/example => ./example
到顶层 go.mod
。
推荐阅读
- java - 激活时在 AEM 中的 OSGi 服务组件中获取当前域名
- reactjs - VS Code 认为缺少结束标签 - 但所有标签都在那里
- r - 生成两个有条件的随机数序列
- javascript - react-native 纸质按钮矢量图标向右浮动
- sql - 使用 VBA 执行 .SQL 文件
- session - 如何恢复 Firefox 而不是最后的“恢复上一个会话”页面
- python - 如何制作具有一多值特征的机器学习模型
- c++ - 数数到第 n 个楼梯的方式(顺序无关紧要)
- neo4j - 如何在neo4j中找到特定标签的单个节点与不同标签中的所有其他节点之间的不同节点的计数?
- html - 引导弹出窗口不在按钮上