使用 govendor 添加外部包

Govendor 是一个工具,用于以与 golang 的 vendoring 兼容的方式将第三方包导入你的代码库。

比如说你正在使用第三方包 bosun.org/slog

package main

import "bosun.org/slog"

func main() {
    slog.Infof("Hello World")
}

你的目录结构可能如下所示:

$GOPATH/src/
├── github.com/me/helloworld/
|   ├── hello.go 
├── bosun.org/slog/
|   ├── ... (slog files)

然而,克隆 github.com/me/helloworld 的人可能没有 $GOPATH/src/bosun.org/slog/文件夹,导致他们的构建因缺少包而失败。

在命令提示符下运行以下命令将从 Go 包中获取所有外部包,并将所需的位打包到供应商文件夹中:

govendor add +e

这指示 govendor 将所有外部包添加到当前存储库中。

你的应用程序的目录结构现在看起来像:

$GOPATH/src/
├── github.com/me/helloworld/
|   ├── vendor/
|   |   ├── bosun.org/slog/
|   |   |   ├── ... (slog files)
|   ├── hello.go 

克隆你的存储库的人也将获取所需的第三方软件包。