Beego最新稳定版为v2.3.5,v1已停更;必须用go get -u安装github.com/beego/beego/v2和github.com/beego/bee/v2,导入路径改为github.com/beego/beego/v2/server/web,启动函数改为web.Run(),控制器继承web.Controller。

Beego 最新稳定版就是 v2 系列(当前为 v2.3.5),v1 已彻底停更,任何尝试安装 github.com/astaxie/beego 或不带 /v2 后缀的路径,都会导致编译失败或运行时找不到符号。
go get -u 安装 beego/v2 和 bee/v2 两条命令必须一起执行
只装框架不装工具,或者顺序颠倒,都会让后续 bee run 失效:
-
go get -u github.com/beego/beego/v2—— 安装框架核心,含server/web、core/config等子包 -
go get -u github.com/beego/bee/v2—— 安装 CLI 工具,生成在$GOPATH/bin下 - 如果提示
no required module provides package,说明当前目录没启用 Go Modules:先执行go mod init myapp,再重试 - Windows 用户尤其注意:不加
-u会卡在过期缓存(如 v1.12.x),GOPROXY失效时更明显
bee 命令找不到?90% 是 $GOPATH/bin 没进 PATH
bee 二进制默认生成在 $GOPATH/bin(Windows 是 %USERPROFILE%\go\bin),但终端找不到它,几乎全是环境变量没配对:
- 运行
go env GOPATH看输出路径(比如/Users/xxx/go) - 确认该路径下存在
bin/bee(macOS/Linux)或bin/bee.exe(Windows) - 把完整路径(如
/Users/xxx/go/bin)加入系统PATH,然后新开终端验证bee version - Mac/Linux 用户别手动复制
bee到$GOROOT/bin——那是 Go 自身工具的位置,放错会导致go build异常
bee new 后启动报 missing go.sum entry 或 undefined: beego.Run
这两个错误看似不同,根源都是模块未同步或代码仍用 v1 写法:
-
missing go.sum entry:新项目bee new demo后立即bee run必然触发,因为go.mod有声明但校验文件未生成。进入项目根目录,立刻执行go mod tidy - 若仍失败,大概率是代理失效:运行
go env -w GOPROXY=https://goproxy.cn,direct -
undefined: beego.Run:说明main.go还在用 v1 导入和调用方式。必须改两处:
– 导入路径从import "github.com/astaxie/beego"改为import "github.com/beego/beego/v2/server/web"
– 启动函数从beego.Run()改为web.Run()
– 控制器结构体继承也得同步:从beego.Controller改为web.Controller
v2 的模块拆分很彻底,core/logs、core/config、server/web 各自独立,主包 github.com/beego/beego/v2 已不导出任何运行时函数——这点容易被忽略,直到 go build 报错才反应过来。











