Manul Go 应用的 vendoring utility Manul

agolangf2017-02-07 04:00:07 • 1279 次点击    
这是一个分享于 2017-02-07 04:00:07 的项目,其中的信息可能已经有所发展或是发生改变。

Manul 是 Go 应用的 vendoring utility。

为什么需要 Manul ?

因为其他的 vendor utilities 有以下缺点:

有些会对 go 的二进制文件和 GOPATH env 变量进行欺骗包装。你将得到一个非 go-gettable 项目,需要额外的软件来编译和运行;

有些将依赖关系的源代码复制到供应商目录中:更新依赖关系需要手动干预,并将大量修改的行直接提交到主仓库;不能通过查看仓库来告诉你的项目使用的依赖关系的版本; 必须在与提交相关联的供应商的附加模糊文件中保留版本。

还有各种架构问题:

不能更新所有或特定的依赖关系;
不能将特定版本的被依赖关系回滚;
不能删除未使用的被依赖关系;
不能锁定版本的 vendored 依赖。

用法

-I [<dependency>...] -为指定的/所有依赖关系安装git子模块;

-U [<dependency>...] - 更新指定的/所有已经被提供的依赖;

-R [<dependency>...] - 删除指定/所有依赖关系的git子模块;

-Q [<dependency>...] - 列出所有使用的依赖关系;

-C - 检测并删除所有git子模块。

安装

从 AIR 安装,或手动构建软件包:

使用 go get 也可获得:

:smirk_cat: The madness vendoring utility for Golang programsRead More

Latest commit to the master branch on 10-10-2021
Download as zip
授权协议:
MIT
开发语言:
Google Go SHELL 查看源码»
操作系统:
跨平台
1279 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传