buffalo cli 必须通过 go install 或预编译二进制安装,go 版本不低于 1.21,且 $gopath/bin 需加入 path、数据库服务须运行;安装后需新开终端验证 buffalo version。

Buffalo CLI 必须通过 go install 或预编译二进制安装,且 Go 版本不能低于 1.21;buffalo dev 启动失败的 80% 原因是 $GOPATH/bin 未加入 PATH 或数据库服务根本没运行。
Go 环境必须 ≥1.21 且 GOPATH 可写
Buffalo CLI 是用 Go 编写的命令行工具,不是脚本或包管理器插件,它依赖 Go 的构建系统。执行 go version 必须输出类似 go version go1.26.0 darwin/arm64 的结果。低于 1.21 会触发 go install 编译失败,报错如 unknown directive @latest。
go env GOPATH 必须返回一个真实存在的路径(如 /Users/you/go),且该路径下的 bin/ 子目录需有写权限——因为 go install 默认把生成的 buffalo 二进制文件放在这里。
- 若
go env GOPATH为空,说明你启用了 Go modules 模式但未显式设置 GOPATH,此时可手动运行export GOPATH=$HOME/go(Linux/macOS)或在 Windows 系统变量中添加 - Windows 用户若用 Git Bash,务必避免手动设置
GOPATH——Buffalo 强制要求 modules 模式,设了 GOPATH 反而会让buffalo new失效 - macOS Apple Silicon 用户若遇到
gcc: command not found,需先装 Xcode Command Line Tools:xcode-select --install
安装 buffalo CLI 的两种可靠方式
推荐优先用 go install,它能自动适配你的平台和架构;只有在无法访问 GitHub 或 Go 环境受限时,才退回到预编译包。
用 go install 安装(需联网、Go ≥1.21):
Buffalo框架 1.0.1 版本源码包下载,适合需要错误处理改进、依赖更新、render.Download 注释和 request logger 调整的 v1 项目。
go install github.com/gobuffalo/cli/cmd/buffalo@latest
该命令不依赖当前目录是否有 go.mod,也不需要进任何项目,直接全局生效。
- 若提示
cannot find module providing package,大概率是 Go 版本太低或网络被墙,此时加代理:export GOPROXY=https://goproxy.cn,direct - 安装后检查:
which buffalo应输出类似/Users/you/go/bin/buffalo;若为空,说明$GOPATH/bin不在PATH中
用预编译二进制安装(无 Go 环境或网络受限):
- Linux/macOS:下载
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,它会自动注册 PATH
验证安装后必须新开终端再测
buffalo version 报 command not found 是新手最高频卡点,原因几乎全是 PATH 问题。不要在安装命令执行完的同一终端里验证——shell 缓存了旧的 PATH,必须关掉当前终端,新开一个,再运行:
buffalo version
成功输出类似 v0.18.13 即表示 CLI 已就位。但这只是第一步:CLI 能运行 ≠ 项目能跑。真正容易被忽略的是后续环节:
-
buffalo new myapp成功后,进入目录执行buffalo dev前,必须确认 PostgreSQL/MySQL 服务已在本地启动并监听对应端口(telnet localhost 5432测试) - 如果只打算用 SQLite,系统必须装有
gcc(Linux/macOS)或 Visual Studio Build Tools(Windows),否则go build阶段会因 sqlite3 驱动编译失败而中断 - 别跳过
go mod tidy和npm install——即使你删了assets/,首次buffalo dev仍会尝试加载 Webpack,缺node_modules直接 panic










