问题

对于 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

# 到此结束

红苹果
1 声望0 粉丝