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` 也可获得:
- 授权协议:
- MIT
- 开发语言:
- Google Go SHELL 查看源码»
- 操作系统:
- 跨平台