GOP 是一个专为在 GOPATH 之外的 Go 应用开发的管理工具。当然他肯定不支持 `Go Get `了。GOP 会将所有的依赖项拷贝到 `src/vendor` 目录下,应用本身的源代码也在 `src` 下。
一个通常的使用过程如下:
GOPATH 兼容,工程本身作为 GOPATH
多编译目标支持
将您的工程放到全局 GOPATH 之外
情确保您能正常运行 Go 命令,GOP 将依赖 Go 命令编译和测试
工程目录结构示例如下:
可以看出主文件默认放在 src/main 下可以自动识别,当然也可以在 Gop.yml 中指定
工程配置文件,必须存在并且放在和 src 平级。如果你没有定义任何目标,默认的目标将是 src/main, 目标名是工程名。
初始化 Gop 工程目录
自动从全局 GOPATH 拷贝所需要的依赖项到 src/vendor 目录下。`-g` 参数将会自动调用 `go get <package>` 下载不在全局 `GOPATH` 中的包并且拷贝到 `vendor` 下。 `-u` 则总是调用 `go get <package>` 更新每一个依赖包并且拷贝到 `vendor` 下。
列出当前目标所有依赖包并显示拷贝状态。
从 GOPATH 中拷贝指定的依赖包到 vendor 目录下。`-u` 将会覆盖原先存在 `vendor` 下面的包。
从工程 vendor 中删除某个包。
`go build` 编译目标
`go run` 编译并运行目标
运行 `go test` 将执行单元测试.
运行 `go release` 将自动编译并拷贝资源到 bin 目录下