Vendetta:轻松管理Go依赖的利器

Vendetta:轻松管理Go依赖的利器

vendettaA minimal tool for managing golang project dependencies as submodules项目地址:https://gitcode.com/gh_mirrors/ven/vendetta

在Go开发中,有效的依赖管理工具是项目成功的关键。Vendetta,一款专为不喜欢Go依赖管理工具的开发者设计的小巧实用的工具,正等待着您的探索。

项目简介

Vendetta是用于管理Go项目vendor目录的轻量级工具。从Go 1.5版本开始,Go支持vendor目录,但未提供管理其内容的方法。与许多其他依赖管理工具不同,Vendetta借助Git子模块,保持了对项目操作的最小干预。您只需在构建或大部分开发任务时使用它来填充或更新vendor目录的子模块。由于基于Git子模块,项目仓库保持小巧,且易于追踪vendor目录中的内容到源代码库。

安装

拥有设置好的GOPATH环境变量,可以这样安装:

go get github.com/dpw/vendetta

否则:

git clone https://github.com/dpw/vendetta.git && (cd vendetta ; go build)

vendetta二进制文件将位于克隆的vendetta目录下。

使用方法

运行vendetta,加上可选参数和(可选)项目顶级目录路径。Vendetta会识别并添加构建项目所需的所有缺失包,包括间接依赖。当克隆带有子模块的项目时,务必执行git submodule update --init --recursive以获取子模块的内容。

功能选项

  • -p:修剪不再需要的vendor/下的子模块。
  • -u:更新项目依赖。这会拉取vendor/下所有必需子模块的远程更新。

背景

Go 1.5引入了Go Vendor特性,允许项目vendor目录存储依赖源码。Vendetta遵循所有相关Go规范,如忽略testdata目录。尽管Go Vendor是一个进步,但它本身并不提供填充或管理依赖的手段。其他Go依赖管理工具要么复制依赖源码,导致项目仓库膨胀;要么使用特定的元数据文件管理依赖,增加了对特定工具的依赖。而Vendetta采用Git子模块,既保留了标准性,又简化了依赖管理流程。

技术应用场景

Vendetta适用于任何希望以更简洁方式管理Go依赖的项目。特别适合那些注重代码仓库大小,以及希望避免依赖于特殊工具体验的团队或个人开发者。无论是新项目初始化,还是已有项目维护,Vendetta都能为您的Go开发带来便利。

项目特点

  1. 基于Git子模块 - 利用Git的内置功能,无需额外工具即可管理和更新依赖。
  2. 非侵入式 - 平常的Go项目构建和大多数开发任务不需要Vendetta。
  3. 小巧高效 - 不会增加项目仓库大小,仅通过指向源代码库的指针管理依赖。
  4. 兼容性好 - Git社区广泛使用的特性,与其他Git工具无缝集成。
  5. 简单易用 - 提供直观的命令行接口,易于理解和操作。

总的来说,Vendetta以其简单、高效的特点,为Go开发者提供了一种全新的依赖管理体验。如果您在寻找一种不繁琐、不增加额外负担的解决方案,那么Vendetta无疑是值得尝试的选择。现在就开始,让Vendetta为您的Go项目保驾护航吧!

vendettaA minimal tool for managing golang project dependencies as submodules项目地址:https://gitcode.com/gh_mirrors/ven/vendetta

  • 5
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

齐游菊Rosemary

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值