# 1. go get命令
go get 命令可以借助代码管理工具通过远程拉取或更新代码包及其依赖包到gopath
路径下,并自动完成编译和安装。整个过程就像安装一个 App 一样简单。
example:
go get github.com/spf13/viper
1
如上命令则是将github上中的viper包下载到本地gopath
路径,在对应目录$gopath/src/github.com/sfp13/viper
即可看到对应代码。
这个命令可以动态获取远程代码包,目前支持的有 BitBucket、GitHub、Google Code 和 Launchpad
。在使用 go get 命令前,需要安装与远程包匹配的代码管理工具,如 Git、SVN、HG 等,参数中需要提供一个包名。
这个命令在内部实际上分成了两步操作:第一步是下载源码包,第二步是执行 go install。
下载源码包的 go 工具会自动根据不同的域名调用不同的源码工具,对应关系如下:
名称 | 主命令 | 说明 |
---|---|---|
Mercurial | hg | Mercurial是一种轻量级分布式版本控制系统,采用Python语言实现,易于学习和使用,扩展性强。 |
Git | git | Git最开始是Linux Torvalds为了帮助管理 Linux 内核开发而开发的一个开源的分布式版本控制软件。但现在已被广泛使用。它是被用来进行有效、高速的各种规模项目的版本管理。 |
Subversion | svn | Subversion是一个版本控制系统,也是第一个将分支概念和功能纳入到版本控制模型的系统。但相对于Git和Mercurial而言,它只算是传统版本控制系统的一员。 |
Bazaar | bzr | Bazaar是一个开源的分布式版本控制系统。但相比而言,用它来作为VCS的项目并不多。 |