新闻中心
如何使用Go vendor固定依赖_Go vendor依赖固定方法
Go vendor机制用于本地化依赖实现构建可重现,Go 1.6+默认启用但需手动管理,Go 1.11+起官方推荐改用Go Modules;旧项目可用govendor工具初始化、添加和锁定依赖,并通过-go build -mod=vendor确保仅使用vendor目录。

Go vendor 机制用于将项目依赖的第三方包复制到本地 vendor 目录中,实现依赖锁定和构建可重现。从 Go 1.6 开始默认启用 vendor,但需手动管理依赖文件;Go 1.11+ 推荐使用 Go Modules 替代 vendor(官方已逐步弃用 vendor 模式)。不过若你仍在维护旧项目或明确需要 vendor 方案,以下是实用操作方法。
确认项目启用 vendor 支持
确保你的 Go 版本 ≥ 1.6,并在项目根目录下存在 vendor/ 文件夹。运行以下命令验证是否识别 vendor:
-
go env GO111MODULE应为off或auto(不能是on,否则会强制走 module 模式) -
go list -f '{{.Dir}}' .输出路径应不含/pkg/mod/,说明当前走的是 vendor 路径
手动创建并更新 vendor 目录
最直接的方式是用 go get + go vendor 工具(如 govendor),但原生命令更轻量:
- 先清理旧 vendor:
rm -rf vendor - 下载所有依赖到 vendor:
g(⚠️注意:这其实是 module 模式下的命令,仅当项目有
o mod vendorgo.mod且GO111MODULE=on时生效) - 若坚持纯 vendor 模式(无 go.mod),推荐使用社区工具:
go get github.com/kardianos/govendor,然后执行:govendor init(生成vendor/vendor.json)govendor add +external(拉取所有外部依赖)
固定特定版本依赖(vendor.json 控制)
使用 govendor 时,依赖版本由 vendor/vendor.json 文件管理:
Clips AI
自动将长视频或音频内容转换为社交媒体短片
255
查看详情
- 添加指定版本包:
govendor fetch github.com/pkg/errors@v0.9.1 - 升级某个包:
govendor update github.com/sirupsen/logrus - 查看当前依赖树:
govendor list(带+vcs显示版本,+out显示缺失包) - 提交
vendor/和vendor/vendor.json到 Git,即可保证团队构建一致
构建与测试时强制使用 vendor
即使有 vendor 目录,Go 默认仍可能从 GOPATH 或 proxy 拉取包。确保构建只读取 vendor:
- 编译时加标志:
go build -mod=vendor(Go 1.14+ 支持,要求存在vendor/modules.txt) - 运行测试:
go test -mod=vendor ./... - 检查是否真正走 vendor:
go list -f '{{.Deps}}' . | grep pkg/errors,再对比cat vendor/modules.txt中对应行
基本上就这些。vendor 方式不复杂但容易忽略 GO111MODULE 状态和 -mod=vendor 标志,建议新项目直接用 Go Modules(go mod init + go mod tidy),更标准、易维护。
以上就是如何使用Go vendor固定依赖_Go vendor依赖固定方法的详细内容,更多请关注其它相关文章!
# 并在
# 沧州全网营销推广服务
# 灵寿网站建设市场报价
# 线上营销模式的推广
# 常德专业seo优化企业
# 到底什么才叫seo
# 网站优化文案是什么意思
# 仙桃广告seo推广
# 廉江企业网站建设
# 合肥网站推广怎么做的好
# 冀州市外贸网站优化
# 解决问题
# 中文网
# 相关文章
# js
# 如何在
# 的是
# 资源管理
# 推荐使用
# 如何使用
# 加载
# 本地化
# proxy
# 工具
# github
# go
# json
# git
相关栏目:
【
科技资讯46185 】
【
网络学院92790 】
相关推荐:
小红书怎么解除第三方平台绑定_小红书多平台登录解绑方法介绍
深入理解与实现最大堆的Heapify过程:常见错误与修正
蛙漫移动版在线看 蛙漫手机浏览器直达入口
AO3官网镜像链接 Archive of Our Own同人文在线浏览
《明末:渊虚之羽》设计师谈设计角色:那会刚毕业 充满激情
Win11怎么查看显卡显存 Win11显示适配器属性及专用视频内存查询
蛙漫2日版入口 WAMAN2(日版)无删减漫画官网链接
126邮箱账号注册 电脑版登录入口
php源码怎么看淘宝客系统_看php源码淘宝客系统技巧
汽车之家官方网站官网入口_汽车之家网页版直接进入
PHP 枚举:根据字符串获取枚举案例的策略与实现
百度网盘网页版入口 百度网盘网页版官方登录网址
sublime如何配置Go语言开发环境_sublime搭建Golang编译运行系统
在Blazor WebAssembly应用中动态注入客户端特定指标代码的策略
解决Flask中Quill编辑器内容提交失败及TypeError的指南
在React函数组件中利用原生HTML5进行邮箱地址验证
c++中的std::forward_list和std::list有什么不同_c++ forward_list与list区别分析
sublime怎么预览Markdown渲染效果_Markdown Preview插件 for sublime教程
poki免费入口快捷访问 poki人气小游戏直接玩站点
汽水音乐车机版8.9下载 汽水音乐车机版8.9版本安装入口
解决macOS上安装pyhdf时‘hdf.h’文件缺失的编译错误
必由学官网首页入口 必由学教师网页版登录指南
优化Django表单:提交验证失败后保留用户输入
中兴Axon42Ultra怎样在文件App筛图_iPhone中兴Axon42Ultra文件App筛图【图片筛选】
漫蛙Manwa2官网入口地址分享 漫蛙漫画PC版永久访问通道
使用CSS更改登录屏幕输入框中PNG图标颜色的策略与局限性
c++如何使用Meson构建系统_c++比CMake更快的构建工具
qq游戏跨平台入口_qq游戏多设备同步登录
css卡片内容溢出如何处理_使用overflow隐藏或scroll显示内容
最新韩小圈网页版登录入口_官网在线观看官方链接
初次安装JDK时环境变量如何正确配置_J*A_HOME与PATH设置规则讲解
CSS布局:解决全屏元素100%尺寸与外边距导致的页面溢出问题
处理嵌套交互式控件:前端可访问性指南
Android Studio计算器C键功能异常排查与修复教程
EMS快递官网app_中国邮政速递物流手机客户端
c++中的std::basic_string的SSO优化_c++短字符串优化深度解析
LINQ to XML为何解析失败? 深入理解C# XDocument的异常处理
消息称三星明年 2 月正式发布 HBM4,与 SK 海力士同台竞技
Win10文件资源管理器“此电脑”分组怎么关 Win10恢复经典视图【技巧】
Kafka Streams中基于消息头条件过滤消息的实现指南
html网页设计源代码怎么运行_运行html网页设计源代码步骤【指南】
TikTok国际版官网直达_TikTok国际版官网直达进入在线观看
拷贝漫画电脑版官网入口 拷贝漫画(PC版)在线直达
如何在复杂的电商平台中优雅地管理共享资源并确保正确重定向,使用spryker-shop/resource-share-page模块助你一臂之力
12306选座系统怎么选连座_12306选座多人连坐操作方法
Django表单提交验证失败后保持字段值不刷新
Python Socket多播通信中指定源IP地址的实践指南
在FastAPI中利用lifespan与依赖注入高效管理Redis连接池
星露谷物语官网入口 星露谷物语游戏官网入口
steam官方网页快速访问 steam账号注册全流程


2025-12-12
浏览次数:次
返回列表
o mod vendor