Go 1.16起GO111MODULE默认on,但仍需手动设为on以确保行为一致;模块路径须按最终import地址预设(如github.com/yourname/mytool),避免简名或本地路径。
GO111MODULE=on 还需要手动设吗?
Go 1.16 起默认启用 Module 模式,
环境变量
已“过时”,但不等于可以不管——它仍会直接影响行为一致性。尤其当你在
下误建项目、或 CI 使用旧版 Go(如 1.15),
可能静默退回到 GOPATH 模式,导致依赖找不到、
报
。
运行
,输出不是
就要干预
Linux/
mac
OS:执行
(比
更可靠,永久生效)
Windows PowerShell:用
,别用
(仅当前会话)
旧项目迁移时,务必确认当前目录不在
内,否则模块模式可能被绕过
go mod init 的模块路径怎么写才不翻车?
模块路径不是项目名,而是未来别人
你包时的完整路径,错一次,所有
语句、CI 构建、版本发布都要改。
正确写法:
(即使代码还没推 GitHub,也按最终公开地址预设)
绝对避免:
(无命名空间,易冲突)、
(本地路径,
直接报错)
大小写和下划线慎用:虽然 Go 工具链支持,但某些私有代理(如 JFrog Artifactory)会强制小写,导致
→ 404
内部工具可模拟域名:
,比
更可持续
依赖下载失败?先看 GOPROXY 和 GOPRIVATE
国内直接连
基本超时,而没配
时,私有仓库(如
)会被代理拦截并返回 404,错误常表现为
或
。
通义灵码 windows版
通义灵码 0.8.0 是一款面向智能开发场景的轻量级集成开发环境。该版本聚焦效率与协作,提供代码智能补全、实时语法检查与版本管理功能,并优化了插件扩展能力,适配主流编程语言。0.8.0 版本进一步提升了启动速度与界面响应流畅度,内置任务运行器与调试工具,帮助开发者更快捷地完成项目构建与问题定位。简洁、现代的设计让初学者与专业团队都能快速上手。
下载
设国内代理(推荐):
私有域名必须加
:
若私有库无 HTTPS 或证书不可信,还需加:
(跳过校验)或
(仅开发环境)
验证是否生效:
,两个值都得有输出
go mod tidy 报 “no required module provides package” 怎么快速定位?
这不是网络问题,是 import 路径和模块定义对不上。比如你在代码里写了
,但
里声明的是
且没发 v2 标签,Go 就找不到对应模块。
第一步:检查出错的
路径,对照
第一行
是否前缀匹配
第二步:运行
,看该包是否真被引入、版本是否合理
第三步:确认该包所在目录是否有
,且其
声明与 import 路径一致(常见于本地 replace 未同步更新)
临时绕过(仅调试):
,但上线前必须删掉
最常被忽略的其实是模块路径的“前瞻性”——很多人初始化时图省事用简名,等团队协作或上 CI 才发现一堆
得全局替换。设好
和
只是起点,模块路径选错,后面所有
、
、版本语义化都会被动摇根基。
GO111MODULE$GOPATH/srcGO111MODULE=autogo buildno required module provides packagego env GO111MODULEongo env -w GO111MODULE=onexportgo env -w GO111MODULE=on$env:GO111MODULE="on"$GOPATH/srcimportimportgo mod init github.com/yourname/mytoolgo mod init mytoolgo mod init /home/user/mytoolgo buildgithub.com/YourName/My_Toolgo mod init example.org/internal/climycliproxy.golang.orgGOPRIVATEgit.company.com/foo/barunknown revisionverifying ...: checksum mismatchgo env -w GOPROXY=https://goproxy.cn,directGOPRIVATEgo env -w GOPRIVATE=git.company.com,github.company.internalgo env -w GONOSUMDB=git.company.comGOINSECURE=git.company.comgo env GOPROXY GOPRIVATEimport "github.com/you/project/v2/util"go.modmodule github.com/you/projectimportgo.modmodule xxxgo list -m all | grep -i 关键词go.modmodulego mod edit -replace github.com/xxx=../xxximportGO111MODULE=onGOPROXYgo getgo mod vendor