必须先安装buffalo cli,否则buffalo new等命令报command not found;要求go≥1.21、gopath有效且已加入path,推荐go install安装,或下载预编译包手动配置。

Buffalo CLI 必须手动安装,且 go install 成功率高度依赖 Go 版本、网络和环境变量配置;不装它,后续所有命令(如 buffalo new)都会报 command not found。
确认 Go 环境是否达标
Buffalo CLI 是用 Go 写的,不是“装完 Go 就能直接用”的工具。它要求:
-
go version输出必须是go1.21或更高——低于此版本,go install会失败或生成不可运行的二进制 -
go env GOPATH必须返回一个有效路径(如/home/you/go),否则go install不知道把buffalo放哪儿 - 如果用的是 WSL2 或 Git Bash,确保没手动设置
GOPATH环境变量——Buffalo 强制启用 Go modules 模式,一旦进入 GOPATH 模式,整个项目生成器和数据库命令将完全失效
用 go install 安装(推荐,但需满足前提)
这是最轻量、最可控的方式,适合已有 Go 开发环境的用户:
Buffalo框架 1.0.1 版本源码包下载,适合需要错误处理改进、依赖更新、render.Download 注释和 request logger 调整的 v1 项目。
- 执行
go install github.com/gobuffalo/cli/cmd/buffalo@latest - 该命令会拉取源码、编译、把二进制放到
$GOPATH/bin/buffalo - ⚠️ 如果提示
cannot find module providing package,大概率是 Go 版本太低,或 GitHub 访问不稳定(可临时配GOPROXY=https://goproxy.cn) - 安装后必须新开终端,再运行
buffalo version—— 若仍报command not found,说明$GOPATH/bin没进PATH,需手动添加(Linux/macOS 编辑~/.bashrc或~/.zshrc,Windows 在系统环境变量里加)
下载预编译二进制(无 Go 环境或网络受限时)
跳过编译环节,适合纯部署场景或新手快速验证:
- 去
https://github.com/gobuffalo/cli/releases找最新 release,下载对应系统的buffalo_*.tar.gz(如buffalo_0.18.13_linux_amd64.tar.gz) - 解压后得到单个
buffalo可执行文件 - 把它挪到
/usr/local/bin/(Linux/macOS)或C:\Windows\(Windows),或任意已加入PATH的目录 - 执行
chmod +x /usr/local/bin/buffalo(Linux/macOS),Windows 用户无需此步 - 同样要新开终端验证
buffalo version
Windows 用户特别注意 PATH 注册问题
哪怕你用 Scoop 安装(scoop install buffalo),也得确认终端是否识别新命令:
- Scoop 通常能自动注册 PATH,但 PowerShell 或某些 IDE 内置终端可能缓存旧环境变量
- 运行
echo $env:PATH(PowerShell)或echo %PATH%(CMD),确认输出里含scoop\shims路径 - 若仍不行,重启终端或直接用 CMD 测试——很多 Windows 新手卡在这一步,以为安装失败,其实是 shell 没刷新
- Git Bash 下绝对不要手动设
GOPATH,否则 Buffalo 启动时会静默禁用 Pop(数据库层),导致buffalo db migrate直接 panic
真正容易被忽略的点是:Buffalo CLI 不是“装完就自动可用”的命令,它对 Go 环境、PATH、终端会话都敏感;哪怕只漏掉 $GOPATH/bin 加入 PATH 这一步,后续所有操作都会在起点卡死。










