Golang Go语言中被gomodule折磨的死去活来

发布于 1周前 作者 gougou168 来自 Go语言

Golang Go语言中被gomodule折磨的死去活来
照着视屏敲,怎么都导入不了包,网上查看是开了 gomodule 。
说什么导入包要是 url 的形式,可以但不推荐用 replace,所以就胡乱写了一个 test.com ,也是失败。
折腾了一晚上,今早又在另一篇文章里说,如果你没上传到域名里,就暂时写 replace 。
是不是这些写文章的人也没搞清楚。。。

35 回复

Go 官方博客的文章是顶级的,深入浅出,循序渐进,讲得特别明白。
https://blog.golang.org/using-go-modules

更多关于Golang Go语言中被gomodule折磨的死去活来的实战系列教程也可以访问 https://www.itying.com/category-94-b0.html


我想好好看官方教程,不看那些三流视频,大概不会碰到这种事。学习材料很重要,坏材料误导人

使用 GoMod 的前提需要保证 Go 版本在 1.11 以上,最好环境变量开启或者设置为自动(这点在某些情况下非必须),然后你去引入一个包.
这时 Idea 应该会报错,没关系,在终端执行 go test ./… 就可以自动添加依赖了.
一楼网站如果打不开,用 github 试试:https://github.com/golang/go/wiki/Modules

go mod + proxy 已经比较实用的了,你这个是没有正确使用

从 0 开始学用 go mod 除了刚开始有点困惑之外没遇到啥大问题。

https://goproxy.io/zh/
使用 go mod init 创建项目

一直不太满意 go 对本地包引用的方式

你的学习方法不对,学习首先是基础环境,你和视频的版本环境一样吗,浪费时间排错

下载最新版本的 go,默认开启 gomodule 了,要在非$GOPATH 目录外建立项目文件夹。
第零步 设置 GOPROXY 环境变量 export GOPROXY=<a target="_blank" href="https://goproxy.cn" rel="nofollow noopener">https://goproxy.cn</a>,direct
第一步是 项目根目录下执行 go mod init
第二步,新增包依赖,直接 go get 下载包即可,代码就可以直接 import 了

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

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

大概就用到这么多吧,顺带 go.sum 文件不要加入版本库

go module 个人觉得除了 引用大版本要求加 v2 比较傻屌以外还好 要是 package@v2 还好 package/v2 太丑了

网上好多 shabi 教程,贼简单的东西讲半天
https://www.cnblogs.com/bbllw/p/12377155.html

又一个被二手知识毒害的孩子

等我出个小白教程,哈哈。

早日屏蔽 CSDN,早日提升技术

假设有个大神, github 上的名字叫做 AAA, 他贡献了很多 gomodule, 某一天, 他心血来潮, 改名字为 BBB…
故事就开始了…

goland 也要设置的

1.你可以简单粗暴地,把所有中英文视频教程、所有中文的文字教程,包括国内所有大学的所有非翻译的中文教材,直接认为是垃圾,不用看。就算这类里有极少数精品,你去找去识别也是浪费时间。

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

总结:学习不要在中文圈里学,不然你一定学不好。

go mod init,GoLand 开启 go mod,平时 go mod tidy,完事。。

go mod 很好用啊

replace myproject …/myproject
我这么用本地代码

看来大家都有感触啊。

Go mod 现在最主要的是一个中央仓库,像 Maven,npm,docker hub

go mod 已经很用了

#25 github 有风险,万一项目改名,或者被设为 private,直接 gg 。还有说实话,我还没发现要怎么查看依赖包的版本号,每次 go mod 引入新包时,我都让它自己拉最新版本

为什么 go.sum 不加入版本库啊,GitHub 上各大仓库好像都没有只放一个 go.mod ,go.sum 不是校验用的吗

go mod 有 replace 关键字吧

是校验用的,官方也建议和 go.mod 一起提交,但根据我自己的经验,多人协作的时候这个文件似乎容易变化,引起合并冲突

我现在就被折磨着

有个屁风险,简单的可以用 replace,麻烦点的直接全部改 import path 。

作为IT营GO语言方面的专家,我完全理解你在使用Go modules时可能遇到的困扰。Go modules是Go语言1.11版本引入的依赖管理工具,它旨在解决之前GOPATH模式下依赖管理混乱的问题。

首先,确保你的Go环境已经正确配置了Go modules。你可以通过检查GO111MODULE环境变量来确认是否启用了Go modules。通常,将其设置为on可以确保Go命令使用modules模式。

其次,如果遇到模块加载失败的问题,请检查你的GOPROXYGOSUMDB配置。这些环境变量控制着Go模块的代理和下载行为,以及模块校验数据库的使用。确保它们指向可用的服务,以便Go能够顺利下载和验证依赖。

此外,对于私有模块的处理,你可能需要在go.mod文件中添加认证信息,或者通过配置GOPRIVATE环境变量来允许访问私有仓库。

最后,如果你遇到了具体的错误信息或问题,请尝试查阅官方文档或搜索相关社区和论坛以获取更详细的解决方案。Go语言社区非常活跃,通常会有其他开发者遇到并解决了类似的问题。

回到顶部