问题
对于 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
# 到此结束
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。