必须先安装buffalo cli工具,否则buffalo new、buffalo dev等命令均报command not found;要求go≥1.21且gopath非空,推荐go install github.com/gobuffalo/cli/cmd/buffalo@latest安装,再用buffalo version验证。

Buffalo CLI 工具没装好,后续所有命令(buffalo new、buffalo dev)都会报 command not found——这不是项目问题,是环境缺失的硬性前置条件。
确认 Go 环境是否达标
Buffalo 是用 Go 写的 CLI 工具,不是“装了 Go 就行”,必须满足两个硬指标:
-
go version输出至少为go1.21;低于此版本会触发go install编译失败或模块解析异常 -
go env GOPATH必须返回非空路径(如/home/you/go),否则go install无法定位二进制存放位置
若未安装 Go,直接下载 go1.26.0(当前最稳定兼容版本)并配置好 PATH;别用系统包管理器装的旧版,比如 Ubuntu 自带的 go1.18 就会卡在 cannot find module providing package。
安装 buffalo CLI 的两种可靠方式
推荐优先走 go install,它自动处理依赖和构建,比手动解压更干净:
- 执行:
go install github.com/gobuffalo/cli/cmd/buffalo@latest - 该命令会把二进制写入
$GOPATH/bin/buffalo,不依赖当前目录是否有go.mod - 若提示网络错误(如访问 GitHub 失败),先设置代理:
export GOPROXY=https://goproxy.cn,direct,再重试
没装 Go 或网络受限?改用预编译包:
Buffalo框架 1.0.1 版本源码包下载,适合需要错误处理改进、依赖更新、render.Download 注释和 request logger 调整的 v1 项目。
- Linux/macOS:去
https://github.com/gobuffalo/cli/releases下载buffalo_*.tar.gz,解压后把buffalo文件复制到/usr/local/bin/并执行chmod +x /usr/local/bin/buffalo - Windows:用 Scoop 更省事——先
scoop bucket add extras,再scoop install buffalo,PATH 自动注册,不用手调
验证 PATH 是否生效
这一步跳过,90% 的人会在下一步卡住:
- 关掉当前终端,新开一个,再运行
buffalo version - 成功输出类似
v0.18.13表示 CLI 已就位 - 如果还是
command not found,说明$GOPATH/bin(或你放二进制的目录)没进系统PATH - 检查方法:
echo $PATH | grep -o "$GOPATH/bin"(macOS/Linux)或echo %PATH%(Windows)
PATH 配置错一个字符、少一个冒号、多一个空格,buffalo 就找不到——别猜,直接 which buffalo 或 where buffalo 看它到底在哪儿。
buffalo new 后为什么还不能跑起来
buffalo new myapp 只是生成骨架,不等于环境就 ready 了。常见断点:
- 没进项目目录就执行
buffalo dev→ 报错退出,必须cd myapp后再运行 - 数据库没启或
DB_URL没设 →buffalo dev能启动,但访问页面直接 panic,因为models.NewDB()连不上 - 端口被占(默认
:3000)→ 终端无报错但浏览器打不开,加-p 4000换端口试试 -
database.yml是个假配置文件,Buffalo 根本不读它——真实连接靠环境变量或models.go里的硬编码逻辑
真正能跑通的最小闭环是:buffalo new → cd myapp → 设置 DB_URL(哪怕用 sqlite3://./development.sqlite)→ buffalo db migrate → buffalo dev。漏掉任意一环,都只是“看起来装好了”。










