go install命令

goinstall命令用于编译并安装指定的Go包,考虑GOBIN、GOPATH和模块模式。它支持带版本后缀的参数,要求所有参数在同一模块版本中,并且不适用于标准包或元模。如果启用模块感知模式,将在main模块上下文中运行,否则遵循GOPATH模式。
摘要由CSDN通过智能技术生成

usage: go install [build flags] [packages]

Install编译并安装由导入路径命名的包。


可执行文件安装在GOBIN环境变量命名的目录中,默认是$GOPATH/bin ,如果GOPATH未设置是$HOME/go/bin。$GOROOT中的可执行文件安装在$GOROOT/bin或$GOTOOLDIR而不是$GOBIN中。


如果参数有版本后缀(如@latest或@v1.0.0),go install以模块感知模式构建包,忽略当前目录或任何父目录中的go.mod文件。这对于安装可执行文件而不影响主模块的依赖性是有帮助的。

为了消除构建中使用的模块哪一个版本的歧义参数必须满足以下约束:


-参数必须是包路径或包模式(带有“…”通配符)。它们不能是标准包(如fmt)、元模(std、cmd、all)或相对或绝对文件路径。


-所有参数必须具有相同的版本后缀。不同的查询不是允许,即使它们引用相同的版本。


-所有参数必须引用同一模块中相同版本的包。


-包路径参数必须引用主包。模式参数将只匹配主包。


-没有模块被认为是main模块。如果一个模块包含了在命令行上命名的包,且有一个go.mod文件,它不能包含replace和exclude这样的指令,这将导致其被解释的与主模块不同。模块不得要求

更高版本的自己。


-任何模块中都不使用vender目录。(go install下载的模块zip文件中是不包含vender目录的)


如果参数没有版本后缀,go install可能会在模块感知模式或GOPATH模式,取决于GO111MODULE环境变量和go.mod文件的存在。有关详细信息,请参阅“转到帮助模块”。

如果启用了模块感知模式,go install将在main模块上下文中运行。


禁用模块感知模式时,其他软件包将安装在目录$GOPATH/pkg/$GOOS_$GOARCH。当启用模块感知模式时,其他包已构建并缓存,但未安装。


-i标志还安装命名包的依赖关系。

-i标志已弃用。编译的包将自动缓存。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值