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 · 4386 次点击
    这是一个创建于 1314 天前的主题,其中的信息可能已经有所发展或是发生改变。
    照着视屏敲,怎么都导入不了包,网上查看是开了 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...
    故事就开始了...
    rimutuyuan
        17
    rimutuyuan  
       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  
       2020-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
    @tumaowolf 😂
    reus
        34
    reus  
       2020-10-03 14:37:50 +08:00
    @EminemW 有个屁风险,简单的可以用 replace,麻烦点的直接全部改 import path 。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3721 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 00:51 · PVG 08:51 · LAX 17:51 · JFK 20:51
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.