gopm


Go Package Manager (gopm) is a package manager and build tool for Go

Requirements


Go development environment: >= go1.2
Installation
Install from source code
go get -u github.com/gpmgo/gopm
The executable will be produced under $GOPATH/bin in your file system;
for global use purpose, we recommend you to add this path into your PATH environment variable

go 包管理gopm 快速入门


演示安装不同版本的 beego 并打印版本信息的简单示例
不需要将项目置于$GOPATH 下 放在 ~/demo 中可
$ mkdir ~/demo
$ cd ~/demo
创建 main.go 文件
$ touch main.go
复制以下代码并粘贴到文件中:
package main
import (
    "github.com/astaxie/beego"
)
func main() {
    println("Beego version:", beego.VERSION)
}
很好
gopmfile 文件包含 gopm 所需要的所有信息
先要在项目目录中创建 .gopmfile 文件
$ touch .gopmfile
把以下内容复制到文件中
[target]
path = demo
键 path 指示了项目名称
如果导入路径类似 github.com/gpmgo/gopm 则使用 path = github.com/gpmgo/gopm 而不是 path = gopm

构建项目


默认配置 先基于默认设定来构建这个项目 也就是全部使用最新版本的依赖包
$ gopm build
当命令执行成功时 不会输出任何内容。但如果您想要查看详细信息 则可以通过选项 -v 实现:
$ gopm build -v
输出样例
[GOPM] 14-09-17 17:40:11 [ INFO] Local repository path: /Users/.gopm/repos
[GOPM] 14-09-17 17:40:11 [ INFO] Command executed successfully!
现在执行以下指令
$ ./demo
看到类似下面的输出
beego version: 1.4.0

gopm自定义配置


假如 需要基于 v0.9.0 版本的 beego 构建项目
需要将 gopmfile 修改为以下内容
[target]
path = demo
[deps]
github.com/astaxie/beego = tag:v0.9.0
在节 deps 中指示需要的 beego 版本为 tag:v0.9.0。
下载依赖并重新构建项目 然后运行
$ gopm get
$ gopm build
$ ./demo
可以用过 -v 选项来查看详细信息
[GOPM] 14-09-17 18:07:28 [ INFO] Local repository path: /Users/.gopm/repos
[GOPM] 14-09-17 18:07:28 [ INFO] Indicated GOPATH: /Users/Applications/Go
[GOPM] 14-09-17 18:07:29 [ INFO] Command executed successfully!
值得注意的是 gopm 为此下载了 3 个包(到 gopm 本地仓库)
分别是
github.com/astaxie/beego
github.com/garyburd/redigo
code.google.com/p/vitess/go/memcache
例子说明 gopm 能够很好地与 $GOPATH 共同协作
现在 输出应该变成以下内容
Beego version: 0.9.0
很好很强大