Beego v2 是当前唯一可用主线版本,安装需执行 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 是唯一可用版本,Debian 下安装失败基本都卡在 GOPATH/bin 未加入 PATH、代理未启用、或用了 v1 的导入路径。
确认 Go 环境和模块开关已启用
Debian 默认不启用 Go Modules,必须手动打开:
- 运行
go env -w GO111MODULE=on(永久生效) - 检查
go env GOPROXY,若为空或返回direct,立即设置:go env -w GOPROXY=https://goproxy.cn,direct - 验证 Go 版本 ≥ 1.16:
go version;低于则需先升级 Go,Debian 官源的golang包太旧,直接从https://go.dev/dl/下载二进制安装
执行两条且仅两条 go get 命令
v2 和 v1 路径完全不兼容,任何漏写 /v2 或沿用 github.com/astaxie/beego 都会编译失败:
- 必须按顺序执行:
go get -u github.com/beego/beego/v2 - 再执行:
go get -u github.com/beego/bee/v2 - 如果提示
no required module provides package,说明当前目录没初始化模块:先go mod init myapp,再重试 - 不加
-u会导致拉取到本地缓存的 v1.12.x(尤其在代理失效时),bee version显示正常但beego.Run()仍报错
把 $GOPATH/bin 加进 PATH 并验证 bee 可执行
Debian 终端默认不会自动加载 ~/.bashrc 中的 PATH 修改,容易忽略这步:
- 查路径:
go env GOPATH,假设输出/home/user/go,则完整路径是/home/user/go/bin - 临时生效:
export PATH=$PATH:/home/user/go/bin - 永久生效(推荐):追加到
~/.profile(不是~/.bashrc,因 Debian GUI 终端默认读.profile):echo 'export PATH=$PATH:/home/user/go/bin' >> ~/.profile,然后source ~/.profile - 新开终端,运行
bee version;若仍报 command not found,检查/home/user/go/bin/bee是否存在,不存在说明go get -u没成功生成二进制
新建项目后必须立刻 go mod tidy
Debian 下 bee new demo 成功不代表能直接 bee run:
- 进入项目根目录,第一件事就是
go mod tidy—— 否则必报missing go.sum entry - 若
go mod tidy卡住或失败,大概率是代理没生效,再次确认:go env GOPROXY输出应为https://goproxy.cn,direct - 检查
main.go:导入必须是import "github.com/beego/beego/v2/server/web",启动必须是web.Run(),控制器结构体字段必须是web.Controller;写成beego.Controller或beego.Run()会直接undefined报错,不给任何兼容机会
最常被跳过的其实是 go mod tidy 和 ~/.profile 的 PATH 加载逻辑——Debian 的 shell 初始化机制和 Ubuntu/Arch 不同,不显式 source 或重启终端,bee 就永远找不到。











