go.mod关于go版本异常的处理


1.私有仓库
 go.mod   要注意module的配置mod地址,要与下载地址一致。 否则就算下载下来,就会比较后报错。

module test.com/devGroup/devProject

go 1.22.2

     2. 代码中的包引用地址。  要与module中的mod路径一致

package main

import (

    "module test.com/devGroup/devProject/auth"

)

func main() {

    auth.VerifyPassword("a","b")

}

2.  三方代码引用
1.  私有库的拉取配置,有三种方式

 ssh
私钥放在本地: 用户/.ssh/  的目录中。

如:C:\Users\cdh01\.ssh

       2.访问令牌

      3.帐号和密码

3.  常见报错
1.https下载,报证书错误。

go: finding module for module test.com/devGroup/devProject/auth

go: test_license imports

        module test.com/devGroup/devProject/auth: git ls-remote -q origin in C:\Users\cdh01\go\pkg\mod\cache\vcs\99dd5007e5aec88cc093db13a6ac0aa19fca2484485f41d0343c495d867d4b71: exit status 128:

        fatal: unable to access 'https://test.com/devGroup/devProjec.git/':test.com/devGroup/devProjecthttps://test.com/devGroup/devProjec.git/':test.com/devGroup/devProjecthttps://test.com/devGroup/devProjec.git/':test.com/devGroup/devProjecthttps://test.com/devGroup/devProjec.git/':test.com/devGroup/devProjecthttps://test.com/devGroup/devProjec.git/':test.com/devGroup/devProjecthttps://test.com/devGroup/devProjec.git/':test.com/devGroup/devProjecthttps://test.com/devGroup/devProjec.git/':test.com/devGroup/devProjecthttps://test.com/devGroup/devProjec.git/': SSL certificate problem: unable to get local issuer certificate

解决方式:

临时绕过:git config --global http.sslVerify false

或采用git@的方式进行下载

2. 对于奇怪的私有域名不识别。

go mod tidy

go: finding module for package test.com/devGroup/devProject/auth

go: downloading test.com/devGroup/devProject v0.0.0-20250506075833-7f2f4412776b

go: test_license imports

        test.com/devGroup/devProject/auth: test.com/devGroup/devProject@v0.0.0-20250506075833-7f2f4412776b: verifying module: test.com/devGroup/devProject@v0.0.0-20250506075833-7f2f4412776b: reading https://goproxy.cn/sumdb/sum.golang.org/lookup/test.com/devGroup/devProjec@v0.0.0-20250506075833-7f2f4412776b:test.com/devGroup/devProjecthttps://goproxy.cn/sumdb/sum.golang.org/lookup/test.com/devGroup/devProjec@v0.0.0-20250506075833-7f2f4412776b:test.com/devGroup/devProjecthttps://goproxy.cn/sumdb/sum.golang.org/lookup/test.com/devGroup/devProjec@v0.0.0-20250506075833-7f2f4412776b:test.com/devGroup/devProjecthttps://goproxy.cn/sumdb/sum.golang.org/lookup/test.com/devGroup/devProjec@v0.0.0-20250506075833-7f2f4412776b:test.com/devGroup/devProjecthttps://goproxy.cn/sumdb/sum.golang.org/lookup/test.com/devGroup/devProjec@v0.0.0-20250506075833-7f2f4412776b:test.com/devGroup/devProjecthttps://goproxy.cn/sumdb/sum.golang.org/lookup/test.com/devGroup/devProjec@v0.0.0-20250506075833-7f2f4412776b:test.com/devGroup/devProjecthttps://goproxy.cn/sumdb/sum.golang.org/lookup/test.com/devGroup/devProjec@v0.0.0-20250506075833-7f2f4412776b:test.com/devGroup/devProjecthttps://goproxy.cn/sumdb/sum.golang.org/lookup/test.com/devGroup/devProjec@v0.0.0-20250506075833-7f2f4412776b: 404 Not Found

        server response: not found: test.com/devGroup/devProject@v0.0.0-20250506075833-7f2f4412776b: unrecognized import path "test.com/devGroup/devProject": https fetch: Get "https://test.com/devGroup/devProjec?go-get=1test.com/devGroup/devProjecthttps://test.com/devGroup/devProjec?go-get=1test.com/devGroup/devProjecthttps://test.com/devGroup/devProjec?go-get=1test.com/devGroup/devProjecthttps://test.com/devGroup/devProjec?go-get=1test.com/devGroup/devProjecthttps://test.com/devGroup/devProjec?go-get=1test.com/devGroup/devProjecthttps://test.com/devGroup/devProjec?go-get=1test.com/devGroup/devProjecthttps://test.com/devGroup/devProjec?go-get=1test.com/devGroup/devProjecthttps://test.com/devGroup/devProjec?go-get=1": dial tcp: lookup git.dbu.test on 8.8.8.8:53: no such host

原因: 是默认下载包走了代码。

解决方式:

配置为私有库就不走代理了  go env -w GOPRIVATE=test.com/devGroup/devProject

3. 下载地址与私有库mod.module配置的地址不一致,导致异常。

go: finding module for package test.com/devGroup/devProject/auth

go: downloading test.com/devGroup/devProject v0.0.0-20250506075833-7f2f4412776b

go: found test.com/devGroup/devProject/auth in test.com/devGroup/devProject v0.0.0-20250506075833-7f2f4412776b

go: test_license imports

        test.com/devGroup/devProject/auth: test.com/devGroup/devProject@v0.0.0-20250506075833-7f2f4412776b: parsing go.mod:

        module declares its path as: aa.test.com/aa-devProject

                but was required as: test.com/devGroup/devProject

4.下载异常

go mod tidy

go: test_license imports

        10.251.24.113:2222/devGroup/devProject/auth: malformed import path "10.251.24.113:2222/devGroup/devProject/auth": invalid char ':'

原因:git@的host必须用域名,不能用IP要端口的方式。

解决方式:采用https的下载方式。

或通过配置来实现动态的切换 git config --global url."git@test.com:".insteadOf "https://test.com"

其他:

三者的关系

变量功能典型值是否必须
GOPRIVATE定义私有模块*.test.com✅ 是(主开关)
GONOPROXY私有模块不走代理*.test.com可选(默认继承 GOPRIVATE
GONOSUMDB私有模块不校验 checksum*.test.com可选(默认继承 GOPRIVATE

如果只设置 GOPRIVATE,Go 会自动让 GONOPROXY 和 GONOSUMDB 与其保持一致。
但如果需要更精细控制(例如某些模块走代理但跳过 checksum),可以单独设置。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值