我知道因为golang.org在壁外,网上的方法就不用再说了。
本来go get是一个一键的命令,所有依赖都是自动安装的,我手动对着包名去github上把依赖都clone了,还要拷到对应的目录里去,这安装流程还有什么体验可言?
为什么别的语言的包管理,比如php的composer,node的npm都可以自行修改配置,改成国内的镜像源,然后无痛安装依赖包,而golang就不行?
我搜了这么多资料,看到的全是手动!手动!手动!
我知道因为golang.org在壁外,网上的方法就不用再说了。
本来go get是一个一键的命令,所有依赖都是自动安装的,我手动对着包名去github上把依赖都clone了,还要拷到对应的目录里去,这安装流程还有什么体验可言?
为什么别的语言的包管理,比如php的composer,node的npm都可以自行修改配置,改成国内的镜像源,然后无痛安装依赖包,而golang就不行?
我搜了这么多资料,看到的全是手动!手动!手动!
7 回答5.3k 阅读
6 回答6.9k 阅读✓ 已解决
4 回答2.3k 阅读
1 回答3.4k 阅读
2 回答881 阅读✓ 已解决
2 回答2.2k 阅读
1 回答1.4k 阅读✓ 已解决
不行的原因是go在依赖远程包时都是直接写上域名的,然而所依赖的包又依赖了另一个域名的包。。。
为什么要用域名?我的猜测:
有没有办法解决?
因为基于域名的原因,导致一个项目所依赖的包有可能来自很多的域名(也就是说go的库并不像其它语言一样只提供中心化的统一库),所以单一的国内镜像是解决不了问题的。
当然了,你如果愿意,可以试试这样(纯属开脑洞):
1。搭建自己的go库镜像(可能需要从多个地方收集,同时可能还要解决同名的问题)