被 gomodule 折磨的死去活来 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
The Go Programming Language
http://golang.org/
Go Playground
Go Projects
Revel Web Framework
wikinee
V2EX    Go 编程语言

被 gomodule 折磨的死去活来

  •  1
     
  •   wikinee 2020-09-18 14:01:18 +08:00 5063 次点击
    这是一个创建于 1916 天前的主题,其中的信息可能已经有所发展或是发生改变。
    照着视屏敲,怎么都导入不了包,网上查看是开了 gomodule 。
    说什么导入包要是 url 的形式,可以但不推荐用 replace,所以就胡乱写了一个 test.com ,也是失败。
    折腾了一晚上,今早又在另一篇文章里说,如果你没上传到域名里,就暂时写 replace 。
    是不是这些写文章的人也没搞清楚。。。
    34 条回复    2020-10-03 14:37:50 +08:00
    cmdOptionKana
        1
    cmdOptionKana  
       2020-09-18 14:07:37 +08:00   1
    Go 官方博客的文章是顶级的,深入浅出,循序渐进,讲得特别明白。
    https://blog.golang.org/using-go-modules
    reus
        2
    reus  
       2020-09-18 14:10:01 +08:00 via Android
    我想好好看官方教程,不看那些三流视频,大概不会碰到这种事。学习材料很重要,坏材料误导人
    MXuDong
        3
    MXuDong  
       2020-09-18 14:40:14 +08:00
    使用 GoMod 的前提需要保证 Go 版本在 1.11 以上,最好环境变量开启或者设置为自动(这点在某些情况下非必须),然后你去引入一个包.
    这时 Idea 应该会报错,没关系,在终端执行 go test ./... 就可以自动添加依赖了.
    一楼网站如果打不开,用 github 试试:https://github.com/golang/go/wiki/Modules
    ifsclimbing
        4
    ifsclimbing  
       2020-09-18 14:47:21 +08:00
    难用+1
    dbskcnc
        5
    dbskcnc  
       2020-09-18 14:53:57 +08:00
    go mod + proxy 已经比较实用的了,你这个是没有正确使用
    coderxy
        6
    coderxy  
       2020-09-18 15:00:16 +08:00
    从 0 开始学用 go mod 除了刚开始有点困惑之外没遇到啥大问题。
    lin07hui
        7
    lin07hui  
       2020-09-18 15:16:38 +08:00
    https://goproxy.io/zh/
    使用 go mod init 创建项目
    GuangXiN
        8
    GuangXiN  
       2020-09-18 15:22:48 +08:00
    一直不太满意 go 对本地包引用的方式
    fhsan
        9
    fhsan  
       2020-09-18 15:26:33 +08:00
    你的学习方法不对,学习首先是基础环境,你和视频的版本环境一样吗,浪费时间排错
    keepeye
        10
    keepeye  
       2020-09-18 15:35:10 +08:00   3
    下载最新版本的 go,默认开启 gomodule 了,要在非$GOPATH 目录外建立项目文件夹。
    第零步 设置 GOPROXY 环境变量 `export GOPROXY=https://goproxy.cn,direct`
    第一步是 项目根目录下执行 `go mod init`
    第二步,新增包依赖,直接 go get 下载包即可,代码就可以直接 import 了

    已有的项目下载依赖 `go mod download`

    检查整个项目清除不需要的依赖 `go mod tidy`

    大概就用到这么多吧,顺带 `go.sum` 文件不要加入版本库
    lxml
        11
    lxml  
       2020-09-18 15:45:54 +08:00 via Android
    go module 个人觉得除了 引用大版本要求加 v2 比较傻以外还好 要是 package@v2 还好 package/v2 太丑了
    overthemoon
        12
    overthemoon  
       2020-09-18 15:46:20 +08:00
    网上好多 shabi 教程,贼简单的东西讲半天
    https://www.cnblogs.com/bbllw/p/12377155.html
    index90
        13
    index90  
       2020-09-18 17:30:55 +08:00
    又一个被二手知识毒害的孩子
    zarte
        14
    zarte  
       2020-09-18 17:41:11 +08:00
    等我出个小白教程,哈哈。
    lance6716
        15
    lance6716  
       2020-09-18 18:37:15 +08:00 via Android
    早日屏蔽 CSDN,早日提升技术
    floyda
        16
    floyda  
       2020-09-18 18:41:11 +08:00   3
    假设有个大神, github 上的名字叫做 AAA, 他贡献了很多 gomodule, 某一天, 他心血来潮, 改名字为 BBB...
    故事就开始了...
    14v45mJPBYJW8dT7
        17
    14v45mJPBYJW8dT7  
       2020-09-18 18:45:29 +08:00
    goland 也要设置的
    laminux29
        18
    laminux29  
       2020-09-18 18:46:11 +08:00
    1.你可以简单粗暴地,把所有中英文视频教程、所有中文的文字教程,包括国内所有大学的所有非翻译的中文教材,直接认为是垃圾,不用看。就算这类里有极少数精品,你去找去识别也是浪费时间。

    2.学习最好的教材是官方英文文档,结合各种国外 IT 网站与谷歌,以及自己做实验,这样学起来才快。

    总结:学习不要在中文圈里学,不然你一定学不好。
    raaaaaar
        19
    raaaaaar  
       2020-09-18 18:48:54 +08:00 via Android
    go mod init,GoLand 开启 go mod,平时 go mod tidy,完事。。
    mingsz
        20
    mingsz  
       2020-09-18 18:57:15 +08:00
    go mod 很好用啊
    tolerance
        21
    tolerance  
       200-09-18 19:09:28 +08:00
    replace myproject ../myproject
    我这么用本地代码
    wikinee
        22
    wikinee  
    OP
       2020-09-18 19:36:56 +08:00
    看来大家都有感触啊。
    EminemW
        23
    EminemW  
       2020-09-18 19:58:24 +08:00 via iPhone
    Go mod 现在最主要的是一个中央仓库,像 Maven,npm,docker hub
    EminemW
        24
    EminemW  
       2020-09-18 19:58:42 +08:00 via iPhone
    最需要…
    ArianX
        25
    ArianX  
       2020-09-18 21:56:53 +08:00
    @EminemW github?
    guanhui07
        26
    guanhui07  
       2020-09-18 22:31:44 +08:00
    go mod 已经很用了
    EminemW
        27
    EminemW  
       2020-09-19 00:33:16 +08:00
    @ArianX #25 github 有风险,万一项目改名,或者被设为 private,直接 gg 。还有说实话,我还没发现要怎么查看依赖包的版本号,每次 go mod 引入新包时,我都让它自己拉最新版本
    xuegj1010
        28
    xuegj1010  
       2020-09-21 18:21:00 +08:00
    yuyoung
        29
    yuyoung  
       2020-09-24 09:16:49 +08:00
    @keepeye 为什么 go.sum 不加入版本库啊,GitHub 上各大仓库好像都没有只放一个 go.mod ,go.sum 不是校验用的吗
    yuyoung
        30
    yuyoung  
       2020-09-24 09:17:46 +08:00
    @floyda go mod 有 replace 关键字吧
    keepeye
        31
    keepeye  
       2020-09-24 09:31:53 +08:00
    @yuyoung 是校验用的,官方也建议和 go.mod 一起提交,但根据我自己的经验,多人协作的时候这个文件似乎容易变化,引起合并冲突
    tumaowolf
        32
    tumaowolf  
       2020-09-24 12:09:58 +08:00 via Android
    我现在就被折磨着
    wikinee
        33
    wikinee  
    OP
       2020-09-27 20:53:04 +08:00 via Android
    reus
        34
    reus  
       2020-10-03 14:37:50 +08:00
    @EminemW 有个屁风险,简单的可以用 replace,麻烦点的直接全部改 import path 。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3008 人在线   最高记录 6679       Select Language
    意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 29ms UTC 13:17 PVG 21:17 LAX 05:17 JFK 08:17
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86