• 请不要在回答技术问题时复制粘贴 AI 生成的内容
blackboar
V2EX  ›  程序员

淘宝 cnpm 镜像怎么实现的,我想做个 golang 的

  •  
  •   blackboar · Jan 24, 2018 · 6691 views
    This topic created in 3031 days ago, the information mentioned may be changed or developed.
    服务器带宽没问题,想做个公益的把 golang 库国内加速
    10 replies    2022-02-24 22:14:35 +08:00
    p2pCoder
        1
    p2pCoder  
       Jan 24, 2018
    实际上就是个私有仓库
    我用 nexus 搭建过 maven 私库
    npm 库 好像是有 Sinopia 搭建的
    你只需要 golang 的 包 版本管理工具,然后搭建一个 私库,同步所有包,然后做域名映射就可以了
    Cipool
        2
    Cipool  
       Jan 24, 2018 via Android
    golang 已经有官方谷歌中国镜像了
    https://golang.google.cn
    pmispig
        3
    pmispig  
       Jan 24, 2018   ❤️ 1
    golang 基本上都是基于 git 仓库的,走的 https,包名就是域名,这个没法加速。
    用别扭一点的姿势,自己做一个公共 git,同步一些热门的常用的库,然后别人使用的时候在 gopath/src/xxx/ 下面 git clone 你的
    miketeam
        4
    miketeam  
       Jan 24, 2018 via iPhone
    为撒要镜像,GitHub 上所有的包都有。拖下来放到目录就好了
    janxin
        5
    janxin  
       Jan 24, 2018
    也不是完全不行,首先你要实现一个自己的包管理工具,然后有一个集中的 config 把 git 路径替换成你服务器上的路径即可。

    比如你魔改一个 glide 和 godep 就可以了,只需要修改一下 git clone 时候填写的地址就可以了。

    以 dep 为例,你修改一下 dep 的下面这个位置即可:

    https://github.com/golang/dep/blob/832c144821d691b7221ea2b9185473d073526a4d/gps/vcs_repo.go#L92

    当然,有没有什么其他影响 lz 你自己多测试吧
    rogerchen
        6
    rogerchen  
       Jan 24, 2018
    cnpm 和淘宝源是两个东西。
    mason961125
        7
    mason961125  
       Jan 24, 2018
    Go 这种拿 GitHub 当 Repository 的,你想做镜像源,买硬盘都要破产...
    yech1990
        8
    yech1990  
       Feb 5, 2018 via Android
    直接开 http 代理,分享出来

    用的时候 http_proxy=yourip:yourport go get .....

    你只要在服务器出口做限制就行
    lbp0200
        9
    lbp0200  
       Feb 24, 2022
    https://goproxy.io/zh/
    已经有 golang 国内加速了
    lbp0200
        10
    lbp0200  
       Feb 24, 2022
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5992 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 64ms · UTC 02:07 · PVG 10:07 · LAX 19:07 · JFK 22:07
    ♥ Do have faith in what you're doing.