执行buffalo version输出有效版本号(如v0.18.13)即表示安装成功;若提示command not found,说明$gopath/bin未加入path,需手动配置并重载shell;同时go version必须为1.23.x或1.24.x,否则后续命令将失败。

执行 buffalo version 看输出是否为有效版本号
这是最直接的验证方式。打开新终端(不是安装时用的那个),运行:
buffalo version
如果看到类似 v0.18.13 或 v0.19.0 的输出,说明 CLI 已安装且可被系统识别;若提示 command not found,问题一定出在 PATH 上,而不是“没装好”。
- 必须新开终端——因为
go install把二进制放到了$GOPATH/bin,而该路径需要重新加载 shell 配置才能生效 - 不要在安装目录里执行——
buffalo是全局命令,跟当前路径无关 - 输出中不含版本号(比如只显示
Buffalo framework无数字)是旧版或损坏安装,应重装
检查 $GOPATH/bin 是否在 PATH 中
Buffalo CLI 默认由 go install 放到 $GOPATH/bin,但这个目录不会自动加入 PATH。运行以下命令确认:
echo $PATH | grep "$(go env GOPATH)/bin"
如果没有输出,说明路径缺失。此时需手动添加,例如在 ~/.zshrc 或 ~/.bash_profile 中追加:
export PATH="$(go env GOPATH)/bin:$PATH"
- 改完配置后必须运行
source ~/.zshrc(或对应 shell 文件),否则不生效 - Windows 用户若用 Scoop 安装则跳过此步——Scoop 自动注册 PATH
- macOS 使用 Homebrew 安装的 buffalo 通常放在
/opt/homebrew/bin,要检查的是那个路径
确认 Go 环境满足 Buffalo 最低要求
Buffalo CLI 不是独立二进制,它依赖 Go 运行时和构建链。即使 buffalo version 能跑,也可能因 Go 版本不兼容导致后续命令失败(如 buffalo dev panic)。
运行:
Buffalo框架 1.0.1 版本源码包下载,适合需要错误处理改进、依赖更新、render.Download 注释和 request logger 调整的 v1 项目。
go version
输出必须是 go version go1.23.x 或 go version go1.24.x。其他版本均未被官方支持:
- Go 1.22 及更早:Pop 迁移会失败,
buffalo db migrate报错undefined: pop.NewMigration - Go 1.25+:标准库变更导致
buffalo new编译中断,错误信息含cannot use ... as type ... -
go env GOPATH必须返回非空路径,空值意味着 Go 模块模式异常,会影响所有 buffalo 命令
用 which buffalo 定位实际执行的二进制文件
当多个 buffalo 版本共存(比如既有 go install 装的,又有手动下载的),buffalo version 显示的可能不是你预期的那个。
运行:
which buffalo
它会输出真正被调用的可执行文件路径,例如:
-
/Users/me/go/bin/buffalo→ 来自go install -
/usr/local/bin/buffalo→ 来自手动解压的预编译包 -
C:\Users\me\scoop\shims\buffalo.exe→ 来自 Scoop
如果你刚重装却仍看到旧版本号,大概率是 PATH 里有残留路径优先级更高——删掉旧路径或调整顺序即可。
PATH 和 Go 版本这两个点,覆盖了 90% 的“看似装了却用不了”场景。其他问题基本都建立在这两个前提之上。










