胖蔡说技术
随便扯扯

golang开发中如何下载依赖

今天用vscode去写golang代码,发现通过import倒入gin包的时候,一直显示错误提示,看网站的教程资料使用了go mod 和go get都尝试了。

$ go get -u github.com/gin-gonic/gin   
$ go mod tidy

首先了解下go getgo modgolang 1.11版本之前,golang可以通过go get命令将三方依赖下载到%GOPATH%\src 中。

go modules

go modulesgolang1.11之后版本出来的一个功能。主要是用于将项目代码与三方的包分割,在 go modules之前,项目代码放在 %GOPATH%\src下面,go modules功能开启之后有下载的三方库代码则放在%GOPATH%/pkg/mod目录下。下面说下哪些情况下复合go modules的开启情况:

如上,我们通常使用GO111MODULE来控制modules功能是否开启:
  • GO111MODULE 设置为auto时,当前项目目录不在%GOPATH%/src下,且带给你钱目录或者上一层项目存在go.mod文件。
  • GO111MODULE 设置为on时,开启MODULE功能,设置为off时,关闭MODULE功能。

三方库下载方式

1、 go get pkgname

go get下载的三方库当未开启 go module功能时候,放在 %GOPATH%/src,开启后放在%GOPATH%/pkg/mod

2、 go mod download

将下载的项目依赖缓存到本地。

3、tidy

$go mod tidy

使用tidy命令会检测该文件夹目录下所有引入的依赖,并下载依赖,写入到 go.mod 文件中。

3、vendor

$ go mod vendor

导出项目所有的依赖到vendor目录,从mod中拷贝到项目的vendor目录下,通过这种方式可以让vscode放下依赖,解决我们的vscdoe报红问题。

赞(1) 打赏
转载请附上原文出处链接:胖蔡说技术 » golang开发中如何下载依赖
分享到: 更多 (0)

请小编喝杯咖啡~

支付宝扫一扫打赏

微信扫一扫打赏