mirror of
https://gitee.com/shikong-sk/golang-study
synced 2025-02-23 15:32:15 +08:00
55 lines
2.0 KiB
Markdown
55 lines
2.0 KiB
Markdown
|
#### 0x00 Go工具命令
|
|||
|
|
|||
|
##### get 命令
|
|||
|
|
|||
|
该命令可以借助`代码管理工具`通过远程拉取或更新代码包及其依赖包,并自动`完成编译和安装`,整个过程类似安装App一样;
|
|||
|
|
|||
|
目前支持的动态获取远程代码包的有`BitBucket、GitHub、Google Code 和 Launchpad`,所以为了 go get 命令能正常工作您需要安装与远程包仓库匹配的代码管理工具,如 `Git、SVN、HG` 等,由于它自动根据不同的域名调用不同的源码工具,对应关系如下:
|
|||
|
|
|||
|
```
|
|||
|
BitBucket (Mercurial Git)
|
|||
|
GitHub (Git)
|
|||
|
Google Code Project Hosting (Git, Mercurial, Subversion)
|
|||
|
Launchpad (Bazaar)
|
|||
|
```
|
|||
|
|
|||
|
|
|||
|
|
|||
|
该命令内部实际上分成了两步操作:
|
|||
|
|
|||
|
- 第一步是下载源码包假设远程包的路径格式
|
|||
|
|
|||
|
```
|
|||
|
github.com/golang/go
|
|||
|
```
|
|||
|
|
|||
|
```
|
|||
|
#比如github网站的项目包路径都有一个共同的标准
|
|||
|
github.com - 网站域名:表示代码托管的网站,类似于电子邮件 @ 后面的服务器地址。
|
|||
|
golang - 作者或机构: 表明这个项目的归属,一般为网站的用户名,如果需要找到这个作者下的所有项目,可以直接在网站上通过搜索“域名/作者”进行查看。( 似于电子邮件 @ 前面的部分。)
|
|||
|
go - 项目名称 :每个网站下的作者或机构可能会同时拥有很多的项目,图中标示的部分表示项目名称。
|
|||
|
```
|
|||
|
|
|||
|
- 第二步是执行 go instal
|
|||
|
|
|||
|
参数介绍:
|
|||
|
|
|||
|
```
|
|||
|
$go get [options]
|
|||
|
* -d 只下载不安装
|
|||
|
* -f 只有在你包含了 -u 参数的时候才有效,不让 -u 去验证 import 中已经获取了的包(`对于本地 fork 的包特别有用`)
|
|||
|
* -fix 在获取源码之后先运行 fix,然后再去做其他的事情
|
|||
|
* -t 同时也下载需要为运行测试所需要的包
|
|||
|
* -u 下载丢失的包,但不会更新已经存在的包
|
|||
|
* -v 显示操作流程的日志及信息,方便检查错误
|
|||
|
* -insecure 允许使用不安全的 HTTP 方式进行下载操作
|
|||
|
```
|
|||
|
|
|||
|
|
|||
|
|
|||
|
基础实例:
|
|||
|
|
|||
|
```
|
|||
|
#例如想获取 go 的源码并编译,然后他会编译安装到 GOPATH 目录中
|
|||
|
$ go get github.com/davyxu/tabtoy
|
|||
|
```
|