如何实现一个 go packages 的开源镜像站?

本贴最后更新于 1440 天前,其中的信息可能已经水流花落

go get 受限

go get 使用的是 git 等版本控制仓库管理的文件作为包管理工具,因为 git 仓库是分散的,由于一些原因可能一些网站不能直接访问,也不方便设置系统代理。

$ go get -v -u github.com/ramya-rao-a/go-outline
github.com/ramya-rao-a/go-outline (download)
Fetching https://golang.org/x/tools/go/buildutil?go-get=1
https fetch failed: Get https://golang.org/x/tools/go/buildutil?go-get=1: dial tcp 216.239.37.1:443: connectex: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.
package golang.org/x/tools/go/buildutil: unrecognized import path "golang.org/x/tools/go/buildutil" (https fetch: Get https://golang.org/x/tools/go/buildutil?go-get=1: dial tcp 216.239.37.1:443: connectex: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.)

出现这种情况非常恶心。
有其他的方案实现吗?

同步方法或工具: 一般就是 Rsync,然后从上游拉东西,可以自己写脚本,也可以用官方提供的工具,例如 debian 的 ftpsync 等。 切勿使用 wget 等工具!不能保证文件 link 等属性,也无法做到增量同步,浪费资源! 《搭建开源镜像站》

vscode 设置代理

设置全局代理在 vscode 安装插件的时候是没用的,必须要单独设置代理。
**
png
**
设置代理后就能够正常安装插件。

  • golang

    Go 语言是 Google 推出的一种全新的编程语言,可以在不损失应用程序性能的情况下降低代码的复杂性。谷歌首席软件工程师罗布派克(Rob Pike)说:我们之所以开发 Go,是因为过去 10 多年间软件开发的难度令人沮丧。Go 是谷歌 2009 发布的第二款编程语言。

    478 引用 • 1378 回帖 • 581 关注
  • 开源

    Open Source, Open Mind, Open Sight, Open Future!

    356 引用 • 3285 回帖 • 339 关注
  • Git

    Git 是 Linux Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。

    192 引用 • 354 回帖 • 372 关注

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...