关于go get命令的一些简谈

aside section._1OhGeD · · 2317 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

我刚开始接触golang的时候,曾以为go get == git clone,后来发现,是我想的太简单了。

按照官方的说法,go get借助代码管理工具(例如:git,svn,hg等等)从远程拉取代码和依赖包,并且自动完成编译和安装。

可以这么理解,go get获取代码到本地的时候编译器会通览一遍代码,得出需要哪些依赖包。如果本地没有这些依赖包,会从远程拉取这些依赖包到本地。然后完成编译。

go get 命令目前支持的有BitBucket、GitHub、Google Code 和 Launchpad。 go 工具会自动根据不同的域名调用不同的代码管理工具。

对应关系如下:
BitBucket (Mercurial Git)
GitHub (Git)
Google Code Project Hosting (Git, Mercurial, Subversion)
Launchpad (Bazaar)

附:go get 选项

-d 只下载不安装
-f 只有在你包含了 -u 参数的时候才有效,不让 -u 去验证 import 中的每一个都已经获取了,这对于本地 fork 的包特别有用
-fix 在获取源码之后先运行fix,然后再去做其他的事情
-t 同时也下载需要为运行测试所需要的包
-u 强制使用网络去更新包和它的依赖包
-v 显示执行的命令


有疑问加站长微信联系(非本文作者)

本文来自:简书

感谢作者:aside section._1OhGeD

查看原文:关于go get命令的一些简谈

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

2317 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传