Beego v2是当前唯一主线版本,v1已停更;安装需执行go get -u github.com/beego/beego/v2和go get -u github.com/beego/bee/v2,路径必须含/v2、命令加-u、GOPATH/bin需加入PATH、项目需go mod init并go mod tidy,import和启动函数须匹配v2规范。

Beego v2 是当前唯一可用的主线版本,v1 已停更;所谓“一分钟安装”,核心不是跳过步骤,而是避开 90% 的失败路径——环境变量没配对、代理没启用、路径写错、命令漏 -u。只要这四点对了,从零到 bee run 成功启动,确实可以压进 60 秒。
go get 命令必须带 -u 且路径含 /v2
v2 和 v1 完全不兼容,任何漏写 /v2 或沿用 github.com/astaxie/beego 的写法都会直接编译失败。正确命令只有两个,顺序不能反:
go get -u github.com/beego/beego/v2go get -u github.com/beego/bee/v2
不加 -u 会拉取本地缓存的旧版(比如 Windows 下 GOPROXY 失效时卡在 v1.12.x);如果提示 no required module provides package,说明当前目录没初始化模块,先执行 go mod init myapp 再重试。
GOPATH/bin 必须在 PATH 中,且不能和 GOROOT/bin 混用
bee 二进制默认生成在 $GOPATH/bin,终端识别不到命令,90% 是因为该路径没加进系统 PATH。验证方式:
- 运行
go env GOPATH看输出路径 - 确认该路径下的
bin/子目录存在bee(Linux/macOS)或bee.exe(Windows) - 把完整路径(如
/Users/xxx/go/bin)加入PATH,然后新开终端测试bee version
别往 $GOROOT/bin 手动复制 bee——那是 Go 自身工具的位置,放错会导致后续 go 命令异常。
项目创建后立刻执行 go mod tidy
bee new demo 创建完项目,别急着 bee run。新项目 go.mod 里声明了依赖但 go.sum 还没同步,会报 missing go.sum entry ——这不是 Beego 的问题,是 Go Modules 的标准校验行为。
进入项目根目录,只做一件事:go mod tidy。若仍失败,大概率是代理没生效,执行:
go env -w GOPROXY=https://goproxy.cn,direct
极少数情况是本地模块缓存损坏,可运行 go clean -modcache 清空后再试。
main.go 里的 import 和启动函数必须匹配 v2
这是最常踩的坑:bee run 报 undefined: beego.Run,说明代码还在用 v1 写法。v2 已拆分包结构:
- 旧导入:
import "github.com/astaxie/beego"→ 必须改为import "github.com/beego/beego/v2/server/web" - 旧启动:
beego.Run()→ 必须改为web.Run() - 控制器继承:
type MainController struct { beego.Controller }→ 改为type MainController struct { web.Controller }
这些改不动,go build 或 bee run 都会直接报错,不会“勉强运行”。别指望靠 replace 兼容 v1 代码——v2 不再支持这种降级用法。
真正耗时的从来不是命令执行本身,而是反复检查 go env 输出、翻看 go.mod 路径、确认 import 是否多写了 v2 或少写了 server/web。这些细节一旦写错,重装十次也没用。


















