Python/Go开发

Golang 安装第三方包

2019-05-25  本文已影响0人  陈卧虫

Golang 安装第三方包

最近帮一个朋友安装golang的环境,本以为应该很快就能解决,结果是花了一个多小时,发现自己对go安装的原理不是很理解,认真复习一番,做一个总结:

golang安装第三方的前提

必须设置GOPATH

golang安装第三包的方式

  1. 自动安装:通过go get xxx命令来安装

    这条命令会把远端的第三方包下载并解压到你的GOPATH路径下的src文件夹里面去,并执行go install xxx命令来安装该包,结果是在GOPATH路径的pkg文件夹生成xxx.a文件

    • 实际上go get就是git clone + go install的组合
    • 由上面可知, windows在调用go get之时使用到了git,所以必须先安装安装git
  2. 手动安装:

    • 先下载该包,并按照该包官方的下载路径 为该包创建对应的gopath/src下里面的路径,

      注意这一步很关键!第三包在src里的路径不能随意放在一个文件夹中,因为第三方包内部的文件里还有对其它包的引用,如果随意放置会导致导入路径失效。

    • 将包移入到该路径,执行go install命令安装这个文件

go get的一些使用细节

添加-x参数:打印安装的具体过程,(golang安装遵循的是linux的哲学,没有消息就是最好的消息,所有默认是没有任何提示的)

添加-d参数:只下载代码包到src目录下,不编译和安装

添加-u参数:该命令利用网络来更新已有代码包及其依赖包。默认情况下,该命令只会从网络上下载本地不存在的代码包,而不会更新已有的代码包。

添加-f参数:仅在使用-u标记时才有效。该标记会让命令程序忽略掉对已下载代码包的导入路径的检查。如果下载并安装的代码包所属的项目是你从别人那里Fork过来的,那么这样做就尤为重要了。

添加-fix参数:修复因Go语言规范变更而造成的语法级别的错误

添加-t参数:让命令额外下载代码包中测试源码文件中依赖的代码包

添加-insecure参数:允许命令程序使用非安全的scheme(如HTTP)去下载指定的代码包。如果你用的代码仓库(如公司内部的Gitlab)没有HTTPS支持,可以添加此标记。请在确定安全的情况下使用它。

标记名称 标记描述
-x 打印安装的具体过程
-d 让命令程序只执行下载动作,而不执行安装动作。
-u 让命令利用网络来更新已有代码包及其依赖包。默认情况下,该命令只会从网络上下载本地不存在的代码包,而不会更新已有的代码包。
-f 仅在使用-u标记时才有效。该标记会让命令程序忽略掉对已下载代码包的导入路径的检查。如果下载并安装的代码包所属的项目是你从别人那里Fork过来的,那么这样做就尤为重要了。
-fix 让命令程序在下载代码包后先执行修正动作,而后再进行编译和安装。
-t 让命令程序同时下载并安装指定的代码包中的测试源码文件中依赖的代码包。
-insecure 允许命令程序使用非安全的scheme(如HTTP)去下载指定的代码包。如果你用的代码仓库(如公司内部的Gitlab)没有HTTPS支持,可以添加此标记。请在确定安全的情况下使用它。
上一篇下一篇

猜你喜欢

热点阅读