Go 应用的 vendoring utility Manul

码农软件 · 软件分类 · 其他开发相关 · 2019-10-17 18:42:25

软件介绍

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子模块。

安装

Ubuntu/Debian:

git clone --branch pkg-debian git://github.com/kovetskiy/manul /tmp/manul
cd /tmp/manul
./build.sh
dpkg -i *.deb

Arch Linux:

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

git clone --branch pkg-archlinux git://github.com/kovetskiy/manul /tmp/manul
cd /tmp/manul
makepkg
pacman -U *.xz

Other distros

使用 go get 也可获得:

go get github.com/kovetskiy/manul

本文地址:https://codercto.com/soft/d/16975.html

设计冲刺

设计冲刺

[美] 杰克·纳普、[美] 约翰·泽拉茨基、[美] 布拉登·科维茨 / 魏瑞莉、涂岩珺 / 浙江大学出版社 / 2016-8 / 58.00元

Uber / Nest Lab / Medium / Gmail / Chrome 成功助推无数现象级产品的谷歌风投团队(Google Ventures)首次现身著述 雄踞《纽约时报》/《华尔街日报》/ 亚马逊书店三大畅销榜榜首 当选Inc.杂志2016年必读商业佳作 ------------------- ※内容简介※ 谷歌风投投资的公司每天都会面对各种至关重......一起来看看 《设计冲刺》 这本书的介绍吧!

随机密码生成器
随机密码生成器

多种字符组合密码

MD5 加密
MD5 加密

MD5 加密工具

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换