Revel项目执行go mod tidy后未将依赖写入go.sum求助
Revel项目go mod tidy不生成有效go.sum的解决方法
核心问题
go mod tidy能找到依赖但不写入go.sum,本质是这些依赖未被项目代码直接/间接引用;同时你使用的Revel 1.x开发版对Go Modules支持不完善,加上项目路径可能存在权限问题。
具体解决步骤
修复Revel版本兼容性
Revel 1.x master分支的开发版对Go Modules支持存在缺陷,建议:- 切换到Revel 1.0.0正式版,或升级到完全支持Go Modules的Revel 2.x;
- 若坚持当前版本,手动引入Revel核心依赖:
go get github.com/revel/revel@v1.1.0 go get github.com/revel/cmd/revel@v1.1.2
确保项目代码引用Revel包
检查项目入口文件(如main.go、app/init.go)是否存在Revel包的引用:import "github.com/revel/revel"只有代码存在实际引用,Go模块才会追踪相关依赖。
修复项目路径权限
你的项目位于C:\Program Files\Go\src\myproject,系统目录可能存在写入限制:- 将项目迁移到用户目录,比如
C:\Users\micha\go\src\myproject; - 或用管理员权限打开终端,重新执行
go mod tidy。
- 将项目迁移到用户目录,比如
清理Go模块缓存
缓存异常可能导致依赖解析失败,执行:go clean -modcache之后重新运行
go mod tidy。
内容的提问来源于stack exchange,提问作者Michael Halim
相关产品推荐
相关产品推荐

