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 目录下