以下文章来源于GoLang全栈,作者小锟哥哥

一大早收到粉丝一条私信,项目要用到的包无法安装,咋办?

虽然 go 现在已经有比较好用的 go mod 包管理工具了。

但是由于某些不可描述的原因,在安装依赖时对于新手依旧会有很多问题。

所以今天我就和大家分享些,我个人一般是怎么安装依赖包的。

一、直接 go get

go get

这是我们最原始的安装方式,它能解决大部分包的依赖问题。

golang.org/x/crypto/ssh
go get

二、配置 GOPROXY

go mod
go mod
go mod
go modgo getgo mod

但是默认他使用的源是国外的,所以安装依赖包一般都很慢,或者不能成功。

所以我们需要设置下他们的代理,让他们从国内的服务器出去,这样速度和稳定性都能更好些。

command+,

推荐代理到 https://goproxy.cn 这个上,七牛云家的,我一直使用的它很稳定。

修改好后,记得重新开终端哈!

如果你使用的是其他 IDE 或者命令行,大家自行百度下怎么设置代理吧。

go env

三、善用 github

如果上面两步操作后都还不能安装成功,那么就得使用非正常手段来安装依赖了。

包的引用情况

首先我们需要理解 go 本地的包是怎么存放,怎么引用的。

GOPATH/src/域名/包名GOPATH/pkg/mod/域名/包名@版本号

所以我们可以把包手动下载放到对应的目录下面即可。

手动下载包

对于 github 国内并不是完全不能访问,只是可能会比较慢,或者时常打不开,此时你可以碰碰运气,祝你好运。

官方包都可以在这个仓库下面找到:https://github.com/golang

如何安装在每个包的 README.md 里面都会有描述:

大部分的依赖包都能在 github 里面找到对应包。

四、善用人脉

沿用上一种方案的思路,不是所有人都不能科学上网,你可以寻求你身边能科学上网的朋友,帮你下载包给你。

go getGOPATH/pkg/mod

能站在巨人的肩膀上也是一种能力。

五、善用 go mod

最后还有一种场景,那就是我知道包名字,也能通过文档拿到一些范例 demo,但是我不知道怎么安装。

go tidy

一些常识

  • 1、包名就是仓库地址
github.com/gin-gonic/gin

报名大都是代码所在仓库地址,大都是可以直接访问的。

  • 2、包里面的包

依赖包有一个非常好玩的地方,有时我们使用的包是包里面的包。

可能有点绕,但是很好理解。

golang.org/x/crypto/ssh
golang.org/x/crypto

所以你直接安装 ssh 包,往往会出现找不到包的情况,所以你就需要往上一级安装。

你还有其他比较好的方案么?欢迎下方留言哇!

你学废了么?


关注 @马哥教育微课堂 ,学习更多IT知识,成就高薪IT人生!