必须加 -u 才能拉取 Beego v2 最新版本,否则易卡在旧版;需先 go mod init 初始化模块,再按框架→CLI 顺序安装并执行 go mod tidy;注意 GOPROXY 设置、GOBIN 路径及 v2 导入路径与启动函数的代码迁移。

go get -u 必须加,否则拉不到最新版
直接运行 go get github.com/beego/beego/v2 很大概率装的是缓存旧版本(尤其是 GOPROXY 失效时),go get -u 才会强制更新依赖树并拉取远程最新 commit。Windows 用户尤其容易卡在 v2.3.0 甚至更老的版本上,就因为漏了 -u。
先确认模块上下文,再执行安装
如果提示 no required module provides package,说明当前目录不在 Go 模块路径里。必须先初始化:
-
go mod init myapp(项目名可自定) - 再运行
go get -u github.com/beego/beego/v2和go get -u github.com/beego/bee/v2 - 顺序不能反:先框架后 CLI 工具,否则
bee可能因依赖不匹配而编译失败
装完立刻 tidy,别信 go.sum 自动同步
新装完不跑 go mod tidy,go.sum 里大概率缺 checksum 条目,后续 bee run 或 go run main.go 会报 missing go.sum entry。这不是 beego 的问题,是 Go Modules 的校验机制在起作用。
- 执行
go mod tidy后,检查go.mod中是否含github.com/beego/beego/v2 v2.3.5(当前最新稳定版) - 若仍是旧版本号,大概率是 GOPROXY 没生效:运行
go env -w GOPROXY=https://goproxy.cn,direct - 极少数情况本地缓存损坏,可清空:
go clean -modcache,再重试tidy
bee 命令找不到?检查 GOBIN 是否在 PATH 里
bee 二进制默认生成在 $GOPATH/bin,但很多用户只配了 GOPATH,忘了把 $GOPATH/bin 加进系统 PATH 环境变量。终端输入 bee version 报 “command not found”,基本就是这个原因。
- Mac/Linux:检查
echo $PATH输出是否含$GOPATH/bin - Windows:用
echo %PATH%查,或在系统环境变量里补全 - 临时验证:直接进
$GOPATH/bin目录下执行./bee version
import "github.com/astaxie/beego" 或调用 beego.Run(),就必然 panic。迁移不是重装能解决的,得改代码。


















