首页 >后端开发 >Golang >Go 1.6中如何使用`vendor`机制有效管理Go依赖关系?

Go 1.6中如何使用`vendor`机制有效管理Go依赖关系?

DDD
DDD原创
2024-12-23 20:55:14975浏览

How Can I Effectively Manage Go Dependencies Using the `vendor` Mechanism in Go 1.6?

在 Go 1.6 中使用 Vendor 管理依赖关系

Go 1.6 引入了供应商,这是一种直接在项目内管理依赖关系的内置机制。如何有效地利用此功能?

了解供应商

对于供应商,Go 的查找路径优先考虑在 ./vendor/ 目录中找到的依赖项。这意味着如果 ./vendor/ 和 $GOPATH/src/ 中都存在依赖项,则将使用 ./vendor/ 版本。

手动供应商使用

要手动使用供应商,请将依赖项的文件从 $GOPATH/src/ 复制到 ./vendor/ 目录中的相应路径,与原始路径。这将使 go build 和 go run 等工具优先于 ./vendor/ 版本。

依赖管理工具

考虑使用依赖管理工具,而不是手动复制像 Godep 或 Govendor。这些工具通过从 $GOPATH/src/ 复制在项目中找到的依赖项,自动填充 ./vendor/ 目录。

选择性供应商使用

依赖项管理工具有其优点,但也可能导致过度依赖。不要锁定依赖项,而是考虑使用供应商来管理特定的有问题的存储库,同时允许其他人使用 go get -u 自由更新。

示例

您通过以下方式安装了依赖项通常的 $GOPATH/src/github 方法。要选择性地供应单个依赖项,请运行:

mkdir -p $GOPATH/src/ou/vendor/github.com/zenazn/goji
cp -r $GOPATH/src/github.com/zenazn/goji/ $GOPATH/src/ou/vendor/github.com/zenazn/goji

这会将有问题的依赖项复制到 ./vendor/,同时保留其他依赖项自由更新。

以上是Go 1.6中如何使用`vendor`机制有效管理Go依赖关系?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn