乐趣区

关于go:安装go依赖包firewall网络失败问题

问题

对于 golang.org 下的源码,在国内无法访问 golang 源。

提醒:

目前遇到这个状况应该会越来越少了,随着 >=go1.14 用于 mod 治理依赖包,很多都是应用 github.com 等能够间接拜访的地址域。

当然,也会遇到开源库没有改变援用的,还是会援用这个 golang.org 的就须要手动下载包了。

解决办法

返回 golang 在 github 上的镜像源。镜像源地址

  • 如何搜寻寻找依赖包呢?举例说明。

寻找 golang.org/x/tools 的 tools 包,则在镜像源地址搜寻:tools, 另外,个别状况下,能够间接依据规定 [镜像源地址]/[包名] 间接拜访地址就行,这里就是 https://github.com/golang/tools

  • 找到包之后,下载到本地。

形式 1: 手动下载 xxx.zip 压缩包即可。
形式 2: 手动 git clone 仓库到本地即可。

  • 下载后进行装置这些依赖包。

依赖包有 func main() 入口的,须要装置 go build 并将可执行文件已到 GOBIN 环境里。
没有入口的,仅仅作为依赖包 import 的,间接执行 go install 即可。

留神:
如果装置或应用依赖包时,如果提醒依赖关系短少。
解决:
短少什么依赖包,便本人 go get如上边操作,手动下载安装 相干依赖就行。

装置例子:

# 1. 筹备,本地存储依赖包的目录 GOPATH 下创立好所在目录
cd $GOPATH/src
mkdir -p golang.org/x

# 1. 下载

# 返回 https://github.com/golang , 搜寻:tools
# 能够通过 git clone 下载源码包并切换 tag 分支版本。我这里抉择间接,点击 Release, 抉择一个版本 tools-gopls-v0.7.1.zip 下载

# 切至本地此依赖包所属目录
cd $GOPATH/src/golang.org/x/

# 寄存离线依赖包
cp -r ~/Downloads/tools-gopls-v0.7.1.zip ./
# 解压
unzip tools-gopls-v0.7.1.zip
# 重命名,保障和导包门路统一
mv tools-gopls-v0.7.1 tools
# xxx.zip 不想要能够删除了
rm -rf tools-gopls-v0.7.1.zip

# 2. 装置

# 切至本地此依赖包目录
cd $GOPATH/src/golang.org/x/tools/
# 用于本地导包应用,执行装置
go install

# 到此结束
退出移动版