首页 >后端开发 >Golang >Go 1.6内置的Vendoring机制如何简化依赖管理?

Go 1.6内置的Vendoring机制如何简化依赖管理?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-12-23 12:42:15326浏览

How Can Go 1.6's Built-in Vendoring Mechanism Simplify Dependency Management?

如何在 Go 1.6 中使用 Vendor

Go 1.6 引入了内置的供应商机制,可以简化依赖管理。通过供应商,依赖项直接包含在项目的目录中,允许离线构建和对特定版本进行更精细的控制。

使用 ./vendor 文件夹

要使用 ./vendor,请先复制将所需的依赖项从 $GOPATH/src 放入供应商文件夹中。例如,如果你想使用 GitHub 的 [goji](https://github.com/zenazn/goji) 路由包:

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

复制依赖项后,Go 工具(如 go build 和 go) run 将首先自动检查 ./vendor 是否有所需的包。如果找不到,它们将回退到标准的 $GOPATH/src 目录。

使用依赖项管理工具

虽然手动复制依赖项对于小型项目来说是可行的,但依赖项管理工具提供了一种方便的方法从供应商文件夹安装和管理依赖项的方法。两个流行的选项是:

  • [godep](https://github.com/tools/godep)
  • [govendor](https://github.com/kardianos/ govendor)

这些工具检查您的项目,识别其依赖项,并将它们从 $GOPATH/src 复制到当前目录的供应商文件夹。例如,使用 Godep:

godep save ./...

选择性供应

供应允许您有选择地仅在供应商文件夹中包含特定依赖项。这种方法可确保您将必要的软件包锁定到特定版本,同时允许通过 go get 更新其他软件包。

选择性供应的好处

  • 版本控制: 锁定依赖项以确保生产中构建的一致性。
  • 选择性更新: 允许有针对性的更新而不中断其他依赖项。

过度使用依赖项管理

虽然依赖项管理很重要,但避免过度使用它也很重要。一概而论地供应所有依赖项可能会阻碍定期更新,并可能带来不必要的风险。

以上是Go 1.6内置的Vendoring机制如何简化依赖管理?的详细内容。更多信息请关注PHP中文网其他相关文章!

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