转到 mod 供应商而不更新到最新版本

2024-02-28

我试图弄清楚是否可以在没有 go 工具更新我的 go.mod 文件的情况下运行 go modvendor。

我特别go get package/subpackage@commit并提交我的go.mod使用正确的版本。

然后我跑go mod vendor它会自动升级我刚刚专门设置的软件包的版本。

我查看了此页面,但无济于事:https://github.com/golang/go/wiki/Modules#how-do-i-use-vendoring-with-modules-is-vendoring-going-away https://github.com/golang/go/wiki/Modules#how-do-i-use-vendoring-with-modules-is-vendoring-going-away

我需要使用供应商,因为我运行一个编辑一些供应商依赖的脚本。我正在查看以下构建流程:

GO111MODULE=on go get package/subpackge@commit
GO111MODULE=on go mod vendor
./Script/patch_vendors.sh --write
GO111MODULE=off go build

我的另一个选择是修改复制的源代码,无论 go mod 供应商将其下载到哪里,但是 不知道如何处理。

提前致谢


Per https://tip.golang.org/cmd/go/#hdr-Maintaining_module_requirements https://tip.golang.org/cmd/go/#hdr-Maintaining_module_requirements:

The go命令本身会自动更新go.mod文件保持标准格式和准确性require声明。

任何找到不熟悉的导入的 go 命令都会查找包含该导入的模块,并自动将该模块的最新版本添加到 go.mod 中。 […]

任何 go 命令都可以确定缺少模块需求并且必须添加 [...]。

The go mod vendor命令复制了包及其测试的所有传递导入,因此它将自动更新go.mod文件以确保所有导入的包都存在。

所以这里的问题很可能是commit你已经选择了package/subpackage无法提供出现在程序的传递导入中的某些包。如果这是正确的,你应该发现go list all, go test all, and go mod tidy全部对您的模块要求进行相同的编辑。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

转到 mod 供应商而不更新到最新版本 的相关文章

随机推荐

  • PullRefreshIndicator 与 ScrollableTabRow 重叠

    我开始了解 Jetpack Compose 我把这个放在一起app https github com 4gus71n TheOneApp在我探索不同的日常用例时 该项目中的每个功能模块都应该解决不同的场景 该功能模块之一 chatexamp
  • 图像缩放类型在颤动上居中裁剪?

    我正在尝试做一些类似于 android ImageView 的 centerCrop 属性的事情 设置imageview的高度 并使其裁剪并对齐到中心 就像centerCrop在android上的工作一样 Widget bindItem B
  • C 中的暂定定义和链接

    考虑由两个文件组成的 C 程序 f1 c int x f2 c int x 2 我对第6 9 2段的阅读C99标准 http www open std org JTC1 SC22 wg14 www docs n1124 pdf是这个计划应该
  • 是什么导致不可变对象在没有安全发布技术的情况下被发布?

    即使不诉诸安全发布习惯用法 也可以发布不可变对象 这是什么意思 我读过了Java 并发实践 第3章 共享对象 但仍然无法理解该声明 不可变对象可以通过任何机制发布 V S 应该安全地发布有效的不可变对象 编辑 我经历过SO类似的问题 htt
  • 在 Java 中,/(即正斜杠)在 $Lambda$15/0x00000008000a9440@32e6e9c3 等对象引用中意味着什么?

    在 JShell 中 如果我这样做 interface Foo String foo Foo gt hi I get created interface Foo 2 gt Lambda 15 0x00000008000a9440 32e6e
  • 如何在 Java 中使用 Blender 模型?

    真的只是一个一般性问题吗 假设我正在制作一款游戏 并在 Blender 中制作了一个角色模型 我将如何在 Java 中使用这个模型 我会以某种方式导入它吗 Thanks 通常 在搅拌机中制作模型时 您可以以某种格式导出模型 以便稍后将其导入
  • Django 重写模型 Clean() 与 Save()

    保存模型时 我需要执行一些操作 尤其是从管理员那里执行 我将几个字段大写并检查以确保其中一个字段或另一个字段已填充 我还创建了场蛞蝓 现在 这些功能被分为覆盖清理和保存功能 它现在可以使用 但我很好奇何时使用它们 我浏览了文档 但找不到具体
  • 如何从 .js 文件中的 jQuery 函数访问 PHP 会话变量?

    如何从 js 文件中的 jQuery 函数访问 PHP 会话变量 在此代码中 我想从会话变量中获取 值 function progressbar progressbar value 37 您可以通过 PHP 生成 javascript 文件
  • 自定义 UITableView 动态单元格高度

    我搜索了无数博客和文章 了解如何确定自定义 UITableViewCell 的动态高度及其详细文本 我真的很难找到任何关于这方面的好的文档 我需要做的是让单元格根据里面的文本生长 但高度永远不要低于 70 我已经在 StackOverflo
  • c++ 传递数组而不是可变长度参数列表

    所以我有一个采用可变长度参数列表的函数 例如 int avg int count stuff 我可以用它来称呼它avg 4 2 3 9 4 而且效果很好 它需要维护这个功能 有没有办法让我也用数组来调用它而不是列出变量 例如 avg 4 m
  • Django 模型中没有此类列错误

    我正在向 Django 模型添加一个新字段 但无论新字段是什么 当我尝试运行 makemigrations 时都会收到 no such column 错误 File Users hugokitano canopy lib python2 7
  • 找到二维直方图的峰值

    我做了一些二维直方图 x y 数据 我得到一张像这样的图像 我想要一种方法来获得 x y 存储最大值的点的坐标H 例如 在上图的情况下 它将是具有近似坐标的两个点 1090 1040 and 1110 1090 这是我的代码 import
  • 剃刀 - 单选按钮的绑定问题

    我正在努力为单选按钮绑定 ans 我正在做一个小项目 我有两个模型问题和答案 我想要实现的目的是提取问题列表并根据设置用户将有多种选择或在文本框中输入答案 使用单选按钮 我似乎无法绑定 ans 它得到一个空对象 有人可以指出我正确的方向吗
  • Azure DevOps 添加自定义选项卡以生成摘要

    我想将自定义选项卡添加到我的构建摘要中 在这些选项卡中我想显示结果PowerShell 测试代码覆盖率任务 结果大约是50 200 htm生成的报告报告生成器 https github com danielpalme ReportGener
  • 在 .NET 中表示不可变列表的最佳方式是什么?

    我最近开始使用 F 进行 实际工作 并重新发现了不可变数据结构的美妙之处 例如 F 中的可区分联合和记录 我还发现它们在 C 中使用起来非常简单 特别是因为它们不需要对 F 运行时有任何直接依赖 然而 当涉及到在这些结构中表示列表时 我还没
  • 正则表达式替换 sublime 中替换中包含部分匹配的值?

    我想出了这个正则表达式来查找所有以 并包含 下划线 w w 我基本上是在寻找变量 比如 var foo etc 如何使用正则表达式组替换内容 例如 如何删除下划线并使下一个字母大写 例如 varFoo 替换表达式为 1 u 2 1 2是捕获
  • 如何使用 Raphael.JS 根据鼠标移动绘制一条线

    我试图随着鼠标在纸上移动画一条线 我只知道如何使用画线path 但想知道是否有人有想法来画一条线mousemove 请帮我解决这个问题 这是使用 raphael 的此类示例的链接 与拉斐尔一起绘画 图片来源 Jonas http irunm
  • 本地域与本地主机的性能

    TCP 连接之间是否存在性能差异 本地主机 127 0 0 1 解析到本地计算机的域 或者更具体地说 后面的连接是通过环回设备还是通过实际网络 我问的原因是我正在考虑更改许多 PHP 应用程序中的数据库设置 以便它们使用完整的域而不是本地主
  • 如何在telnet客户端实现tab补全

    我有一个为 telnet 客户端打开连接的服务器 例如 例如 我运行服务器 server在另一个窗口中 我将 telnet 客户端作为 telnet localhost 9999 运行 当我运行 telnet 客户端时 我将收到新的 CLI
  • 转到 mod 供应商而不更新到最新版本

    我试图弄清楚是否可以在没有 go 工具更新我的 go mod 文件的情况下运行 go modvendor 我特别go get package subpackage commit并提交我的go mod使用正确的版本 然后我跑go mod ve