Buffalo CLI 必须通过 go install 或预编译二进制安装,禁用 npm install 和已弃用的 go get;90% 的 “command not found” 源于 PATH 未包含 $GOPATH/bin;需 Go 1.21+,推荐 1.26.0;安装后须新开终端验证 buffalo version。

Buffalo CLI 必须通过 go install 或预编译二进制安装,不能用 npm install 或 go get(后者已弃用);PATH 配置缺失是 90% 的 “command not found” 根源。
确认 Go 环境是否达标
Buffalo CLI 是 Go 编写的原生命令行工具,不兼容旧版 Go。执行 go version,输出必须为 go1.21 或更高——低于此版本会触发 go install 编译失败或模块解析异常。若未安装,从 https://www.php.cn/link/81836b7cd16991abb7febfd7832927fd 下载 Go 1.26.0(当前最稳定兼容版本)。安装后检查:go env GOPATH 必须返回非空路径(如 /home/user/go),这是 go install 默认放置 buffalo 二进制的位置。
用 go install 安装 CLI(推荐)
在任意目录下运行以下命令:
go install github.com/gobuffalo/cli/cmd/buffalo@latest
该命令直接拉取最新稳定版源码、编译并写入 $GOPATH/bin/buffalo。无需进入项目、无需 go.mod、不依赖网络代理(但若提示 cannot find module providing package,大概率是 Go 版本过低或 GitHub 访问受限,此时应改用预编译包)。
Buffalo框架 1.0.1 版本源码包下载,适合需要错误处理改进、依赖更新、render.Download 注释和 request logger 调整的 v1 项目。
- 安装后必须新开终端窗口——旧终端不会自动加载更新后的 PATH
- 验证:运行
buffalo version,应输出类似v0.18.13的版本号 - 若仍报
command not found,检查$GOPATH/bin是否已加入系统 PATH(Linux/macOS 查echo $PATH,Windows 查系统环境变量)
备用:下载预编译二进制(无 Go 环境时)
适合仅需 CLI 工具、不想装 Go 的用户,或 Go 版本卡在 1.19 无法升级的场景。
- Linux/macOS:访问 https://www.php.cn/link/021dc8a02db486be71b957e17dd996d6,下载对应系统的
buffalo_*.tar.gz(如buffalo_0.18.13_linux_amd64.tar.gz),解压后将buffalo文件复制到/usr/local/bin/,再执行chmod +x /usr/local/bin/buffalo - Windows:用 Scoop 安装最省心——先运行
scoop bucket add extras,再运行scoop install buffalo;Scoop 会自动注册 PATH,无需手动配置 - 注意:不要把二进制丢进项目根目录或
./bin下试图“本地运行”,CLI 必须全局可执行
常见卡点与绕过方式
新手最容易在三个地方停住:
-
buffalo: command not found:90% 是$GOPATH/bin没进 PATH,不是安装失败 -
cannot find module providing package:Go 版本 - 执行
buffalo new myapp报错 “not in empty directory”:该命令强制要求在空文件夹下运行,已有go.mod或main.go会直接退出
真正麻烦的从来不是安装本身,而是 PATH 和工作目录这两个看似 trivial 却必须精确匹配的上下文条件。










