必须先安装buffalo CLI,再配置Go环境和database.yml;CLI安装失败主因是Go版本低于1.21、go install路径错误或$GOPATH/bin未加入PATH;database.yml配置错误会导致buffalo db create失败,需确保dialect小写准确、host和端口匹配且数据库服务已运行。

必须先装 buffalo CLI,再配 Go 环境和 database.yml,否则所有后续命令(如 buffalo new、buffalo dev)都会报 command not found 或连接拒绝。
buffalo CLI 安装失败的三个常见原因
不是命令输错,而是底层依赖没对齐:
- Go 版本低于 1.21 —— 执行
go version必须输出go1.21.x或更高;旧版本会卡在cannot find module providing package -
go install没写对路径 —— 正确命令是go install github.com/gobuffalo/cli/cmd/buffalo@latest,漏掉/cmd/buffalo或写成gobuffalo/buffalo都不行 -
$GOPATH/bin没进PATH—— 新开终端后运行buffalo version报command not found,八成是这问题;用echo $PATH | grep -o "$GOPATH/bin"验证
database.yml 配错导致 buffalo db create 直接失败
Buffalo 不启动数据库,只连它。配置错一个字段,就会卡在 dial tcp 127.0.0.1:5432: connect: connection refused:
Buffalo框架 1.0.1 版本源码包下载,适合需要错误处理改进、依赖更新、render.Download 注释和 request logger 调整的 v1 项目。
-
dialect必须小写且拼写准确 —— 写postgresql或pg都会报unknown dialect - PostgreSQL 的
host建议填localhost,MySQL 的host建议填127.0.0.1,避免 Unix socket 解析失败 - 端口不通时别急着改 YAML —— 先用
telnet localhost 5432或nc -zv localhost 3306确认服务真在跑
第一次运行项目前必须补全的三步
生成项目后不能直接 buffalo dev,否则会 panic 或 404:
- 执行
go mod tidy—— Buffalo 生成的go.mod只列顶层依赖,子依赖(如github.com/gobuffalo/pop/v6)得手动拉 - 执行
npm install—— 即使你删了assets/,首次启动也要有node_modules,否则buffalo dev会因 Webpack 编译失败退出 - 按顺序跑
buffalo db create→buffalo db migrate—— 跳过migrate会导致查询表时报table not found,因为模型代码不创建表,迁移文件才做这事
最常被忽略的是:database.yml 里写的密码和用户名,必须和你本地数据库实际创建的用户权限一致;很多新手用 postgres 用户连不上,是因为 PostgreSQL 默认禁止 peer 认证下用密码登录,得先改 pg_hba.conf 或换用户。

















