在 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中文网其他相关文章!