Beego v2 是唯一主线版本,v1 已停更;安装需按顺序执行 go get -u github.com/beego/beego/v2 和 go get -u github.com/beego/bee/v2,确保 Go Modules 环境并正确配置 GOPATH、GOBIN 与 PATH。

Beego v2 是当前唯一可用的主线版本,v1 已彻底停止维护;安装失败几乎全是环境配置或路径混用导致的,不是框架本身的问题。
go get 安装命令必须带 -u 且指定 v2 路径
不加 -u 会拉取过期缓存,尤其在 GOPROXY 失效时更明显;v2 的模块路径和 v1 完全不同,不能沿用旧写法。
- 执行这两条命令(顺序不能反):
go get -u github.com/beego/beego/v2
go get -u github.com/beego/bee/v2
- 如果提示
no required module provides package,说明当前不在 Go Modules 环境下:先运行go mod init myapp初始化模块,再重试 - Windows 用户注意:
bee二进制默认生成在$GOPATH/bin,该路径必须加入系统PATH,否则终端无法识别命令
导入路径和启动方式必须用 v2 新规范
v2 拆分了包结构,beego.Run() 已废弃,控制器继承路径也变了——用错就直接编译失败或 panic。
- main.go 中的 import 必须是:
import "github.com/beego/beego/v2/server/web",不是github.com/astaxie/beego - 启动函数必须写成:
web.Run(),不是beego.Run() - 控制器定义要改:
type MainController struct { web.Controller },不是beego.Controller - 若已有 v1 项目迁移,别手动改 import 路径后就以为完事——所有子包引用(如 orm、config)也都得同步换成
/v2/xxx形式
bee new 创建项目后立即报 missing go.sum 是常见假警报
这不是 beego 的 bug,而是 Go Modules 的依赖校验机制在起作用:项目刚建好,go.mod 有声明但 go.sum 还没同步。
- 进入项目根目录后,立刻运行:
go mod tidy - 若仍失败,大概率是 GOPROXY 没生效:执行
go env -w GOPROXY=https://goproxy.cn,direct - 极少数情况是本地模块缓存损坏,可清空:
go clean -modcache,再go mod tidy
最易被忽略的是 GOPATH 和 GOBIN 的配对关系——GOBIN 必须等于 $GOPATH/bin,否则 go install 生成的 bee 可执行文件不会落在 PATH 里;Mac/Linux 用户还要确认 $GOPATH/bin 确实已加进 shell 的 PATH,否则 bee version 都找不到命令。


















