The Go Programming Language
› http://golang.org/
› Go Playground
Go Projects
› Revel Web Framework
caojunxyz

深入浅出 Go Modules

  •  
  •   caojunxyz · Aug 7, 2019 · 5762 views
    This topic created in 2645 days ago, the information mentioned may be changed or developed.

    写了一篇总结,希望对大家有帮助,欢迎指点 https://blog.caojun.xyz/posts/gomodules/

    32 replies  •  2019-08-09 09:59:42 +08:00
    deepzz
    deepzz
    Aug 7, 2019 via iPhone
    1
    哇,军哥好。
    caojunxyz
    caojunxyz
    OP
    Aug 7, 2019
    2
    @deepzz 哈哈
    loading
    loading
    Aug 7, 2019 via Android
    3
    老曹牛逼!
    lupo
    lupo
    Aug 7, 2019
    4
    看来楼主叫曹军
    stanjia
    stanjia
    Aug 7, 2019
    5
    军曹电玩??
    caojunxyz
    caojunxyz
    OP
    Aug 7, 2019
    6
    @loading 写了没人看,厚着脸皮来发一下,给自己一点动力
    Aruforce
    Aruforce
    Aug 7, 2019
    7
    自己弄着写过关于这个文档...

    最好还是不要在 gopath 中使用 go module... 并不怎么好使...

    感觉就是 对以前只有一个 gopath 这种脑子里有屎的设定进行的一次填坑...

    除此之外...用了 go moduel ..编译什么的时候 编译器就会傻逼似的要去 pkg mod 下面找文件...即使当前 src 下面有源代码 也会被忽略 胃疼...
    glues
    glues
    Aug 7, 2019 via Android
    8
    曹军🐮🍺
    hsuehsen
    hsuehsen
    Aug 7, 2019
    9
    @Aruforce
    除此之外...用了 go moduel ..编译什么的时候 编译器就会傻逼似的要去 pkg mod 下面找文件...即使当前 src 下面有源代码 也会被忽略 胃疼...

    ----------------------------------------
    用 replace 就可以
    auin
    auin
    Aug 7, 2019
    10
    GOPATH 的设计和新版本的 GO MODULE 再加上这个网络能把你搞疯,我觉得先等 Go 稳一稳再上车好
    SecretManConnan
    SecretManConnan
    Aug 7, 2019
    11
    @liuxey 这就是做 go 这门语言,之前啥都没有想好。然后又跟不上现代化语言必要的东西~ 各种历史包袱,难受
    Va1n3R
    Va1n3R
    Aug 7, 2019
    12
    GO MODULE 目前还不成熟。。之前编译 gitea 的时候烦死我了,总是莫名其妙的说 hash 对不上,进去把 sum 删了就行..还是等一个优化吧
    likaka
    likaka
    Aug 7, 2019
    13
    深入浅出。。。。我怀疑你再开车
    Aruforce
    Aruforce
    Aug 7, 2019
    14
    @hsuehsen 怎么个意思?怎么操作的?
    Carseason
    Carseason
    Aug 7, 2019 via iPhone
    15
    bee 的热更新不能用在 go modules 上,难受
    caojunxyz
    caojunxyz
    OP
    Aug 7, 2019
    16
    @Aruforce 把 GO111MODULE 环境变量 unset 或者设置为 auto 就可以关掉 module 模式,这样就不回去 pkg/mod 目录找了
    caojunxyz
    caojunxyz
    OP
    Aug 7, 2019
    17
    @liuxey 网络问题很容易解决,是开发的基础设施啊
    caojunxyz
    caojunxyz
    OP
    Aug 7, 2019
    18
    @Va1n3R 我暂时还没遇到坑
    caojunxyz
    caojunxyz
    OP
    Aug 7, 2019
    19
    @likaka 请大佬指点
    caojunxyz
    caojunxyz
    OP
    Aug 7, 2019
    20
    @Carseason bee 的热更新本来也是方便开发,我的理解良好的语义化的版本管理更适合正式发布
    auin
    auin
    Aug 7, 2019
    21
    @caojunxyz #17 我知道每个问题都有解决办法,但是这一堆问题摆在初学者面前就是大山,我也并不是说不建议使用,作为兴趣完全可以搞一搞,但想要做主业需要三思
    targetliu
    targetliu
    Aug 7, 2019
    22
    @liuxey
    GOPROXY 了解一下
    1.13 还可以设置 GOPRIVATE 来访问私有仓库
    再加上 GO SUM 来验证
    感觉 1.13 可以上车了
    gamexg
    gamexg
    Aug 7, 2019
    23
    @liuxey #21 golang 新版本支持代理(第三方库镜像)了,
    国内七牛、阿里提供了国内镜像,算是解决了网络问题。
    rrfeng
    rrfeng
    Aug 7, 2019 via Android
    24
    很好用,没遇到问题。
    之前的第三方方案都没用过,因为花了十分钟没看懂…
    go mod 就很好理解了。
    blless
    blless
    Aug 7, 2019
    25
    没有写 goproxy?
    @Va1n3R 1.13 出了 sumdb 或者可以忽略 sum,或者设置私有 repo,个人觉得 1.13 已经完整了
    caojunxyz
    caojunxyz
    OP
    Aug 7, 2019
    26
    @blless 忽略了这一点,回头抽时间更新一下。主要平时公司和家里都是无障碍网络……
    charten
    charten
    Aug 8, 2019
    27
    一般这种用 github 作为第三方包源的仓库,都是要先 fork 才能用?
    caojunxyz
    caojunxyz
    OP
    Aug 8, 2019
    28
    @charten 不需要,也不建议。使用 fork 的不方便同步 upstream 的更新。除非你要自己修改开源的东西
    Aruforce
    Aruforce
    Aug 8, 2019
    29
    @caojunxyz #16 要是这么做 就不是解决问题 而是回避问题了 在 go mod 开和不开 之间 反复横跳 ?
    Oktfolio
    Oktfolio
    Aug 8, 2019
    30
    go module 是真的好用了,govendor、go dep 是真的不行
    hsuehsen
    hsuehsen
    Aug 8, 2019
    31
    @Aruforce 类似这样,直接可以用 replace 把远端仓库的 replace 为本地源码或别的仓库
    module github.com/notedit/rtclive

    require (
    github.com/akamensky/argparse v0.0.0-20190115094700-b33e05fb8d69
    github.com/gin-contrib/cors v0.0.0-20190101123304-5e7acb10687f
    github.com/gin-gonic/gin v1.3.0
    github.com/gofrs/uuid v3.2.0+incompatible
    github.com/notedit/media-server-go v0.1.12
    github.com/notedit/rtmp-lib v0.0.2
    github.com/notedit/sdp v0.0.1
    gopkg.in/yaml.v2 v2.2.2
    )

    replace github.com/notedit/media-server-go v0.1.12 => ../../media-server-go
    Aruforce
    Aruforce
    Aug 9, 2019
    32
    @hsuehsen 那我去实践下...
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   3026 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 65ms · UTC 11:35 · PVG 19:35 · LAX 03:35 · JFK 06:35
    ♥ Do have faith in what you're doing.