go get 命令介绍

素颜马尾好姑娘i 2022-03-18 02:48 425阅读 0赞

功能: 用于下载指定的路径包并进行安装。比如:go get github.com/jinzhu/gorm 会下载并安装gorm包。

命令介绍说明:










































标记 含义
-u 用于下载指定的路径包及其依赖包,默认情况下,不会下载本地已经存在的,只会下载本地不存在的代码包。就是口中常说的跟新包 比如:go get -u github.com/jinzhu/gorm。会把最新的 gorm 包下载到你本地
-d 此命令仅仅是下载路径包,而不会进行安装。即不会执行 go install 命令
-t 让命令程序同时下载并安装指定的代码包中的测试源码文件中依赖的代码包。
-fix 让命令程序在下载代码包后先执行修正动作,而后再进行编译和安装。。
-insecure 允许命令程序使用非安全的scheme(如HTTP)去下载指定的代码包。如果你用的代码仓库(如公司内部的Gitlab)没有HTTPS支持,可以添加此标记。请在确定安全的情况下使用它。(记得 使用工具 git 时,有个版本就是 http 升级为了https)
-v 打印出那些下载的代码包的名字。
-f 仅在使用-u标记时才有效。该标记会让命令程序忽略掉对已下载代码包的导入路径的检查。如果下载并安装的代码包所属的项目是你从别人那里Fork过来的,那么这样做就尤为重要了 。
-x 打印出整个过程使用了哪些命令。

-fix : 比如,我的代码是一年前1.7 开发的,现在go 版本已经是1.11 了,有些包已经发生了变化,那么我们在使用go get命令的时候可以加入-fix标记。这个标记的作用是在检出代码包之后,先对该代码包中不符合Go语言1.7版本的语言规范的语法进行修正,然后再下载它的依赖包,最后再对它们进行编译和安装。


go get 下载的包保存在哪里呢? 一般他会保存在这个目录:$GOPATH/src/import-path , 若你有多个GOPATH(工作区),则会保存在第一个工作区中。

go get 还有个功能,就是使用它检出或更新代码包之后,它会寻找与本地已安装Go语言的版本号相对应的标签(tag)或分支(branch)。比如,本机安装Go语言的版本是1.x,那么go get命令会在该代码包的远程仓库中寻找名为“go1”的标签或者分支。如果找到指定的标签或者分支,则将本地代码包的版本切换到此标签或者分支。如果没有找到指定的标签或者分支,则将本地代码包的版本切换到主干的最新版本。

go get 更新代码包,更行代码包后,所引用此包的其他代码块使用时都会更新。但是就是不会更新vendor目录中的代码。现在好多公司都用govendor 工具管理代码包,也算是个两两想呼应吧。

发表评论

表情:
评论列表 (有 0 条评论,425人围观)

还没有评论,来说两句吧...

相关阅读

    相关 go install 命令介绍

    概要: go install 用于编译并安装它指定的代码包以及代码包依赖的其他包,其实 go build 的绝大多数命令都可以用于 go install 命令,也仅仅比 go

    相关 go build 命令介绍

    控制台输入: go help build 会输出所有的 go build 可带的所有参数, go build 用于编译导入的包,包括import导入的包,以及这些包所依赖

    相关 go doc 命令介绍

    一:go doc 命令介绍 作用:打印出程序实体说明文档。后可不跟参数或一个参数或两个参数 格式:go doc 标记 参数 标记和参数可以不填, go d

    相关 go clean 命令介绍

    功能:用户删除项目的缓存文件或其他命令生成的文件。会删除以下文件(但不限于以下) 1. 会删除编译go或命令源码文件而产生的文件,包括:“\_obj”和“\_test”目录

    相关 go env 命令介绍

    功能:输出 go 环境有关的信息。 默认情况下环境输出格式为 shell 脚本格式(Windows上是 batch 文件形式输出)。当人你也可以再后边加上标记,按你指定格式