beego v2 安装失败主因是 gopath/gobin 不匹配、模块代理未启用或混用 v1/v2 导入路径;必须用 go get -u 安装 beego/v2 和 bee/v2,导入路径为 github.com/beego/beego/v2,启动用 web.run() 且控制器继承 web.controller。

Beego v2 依赖安装失败,90% 是 GOPATH/GOBIN 不匹配、模块代理未启用,或混用了 v1/v2 导入路径。
go get -u 必须加,否则拉到过期缓存
v2 的 beego 和 bee 工具必须用 go get -u 安装,不加 -u 会命中本地旧缓存,尤其在 Windows 下 GOPROXY 失效时更明显。命令顺序不能反:
go get -u github.com/beego/beego/v2go get -u github.com/beego/bee/v2
如果提示 no required module provides package,说明当前不在 Go Module 环境下:先执行 go mod init myapp 初始化模块,再重试。
bee 命令找不到?检查 $GOPATH/bin 是否在 $PATH 中
bee 二进制默认生成在 $GOPATH/bin(Windows 是 %USERPROFILE%\go\bin),这个路径必须加入系统 PATH 环境变量,否则终端无法识别命令。
- 运行
go env GOPATH查看实际路径 - 确认
go env GOBIN和GOPATH一致;若不一致,建议统一设为go env -w GOBIN=$GOPATH/bin - 修改后重启终端,再执行
bee version验证
go.mod 有依赖但启动报 missing go.sum entry
这是 Go Modules 校验失败,不是 Beego 问题。新项目创建后,go.mod 声明了依赖但 go.sum 还没同步。
- 进入项目根目录,立即执行
go mod tidy - 若仍失败,大概率是
GOPROXY没生效:执行go env -w GOPROXY=https://goproxy.cn,direct - 极少数情况是本地模块缓存损坏,可清空:
go clean -modcache,再go mod tidy
beego.Run() 报 undefined?你还在用 v1 的写法
这是最常踩的坑:代码里还写 beego.Run(),但实际装的是 v2。
- 检查
main.go是否含import "github.com/astaxie/beego"—— 这是 v1 路径,必须改成:import "github.com/beego/beego/v2/server/web" - v2 启动方式是
web.Run(),不是beego.Run() - 控制器继承也要改:
type MainController struct { web.Controller },而非beego.Controller
模块化拆分后,日志、配置、路由等都分散在 core/logs、core/config 等子包里,直接 import 主包已不生效。











