必须先装好 Go 1.21+ 和 buffalo CLI,否则 buffalo new 会报 command not found;Go 版本需 ≥1.21,buffalo CLI 安装失败时推荐用 GitHub Releases 或 Scoop;database.yml 中 dialect 和 host 必须正确;项目启动前须依次执行 go mod tidy、npm install、buffalo db create、buffalo db migrate。

必须先装好 Go 1.21+ 和 buffalo CLI,否则 buffalo new 会报 command not found —— 这是 90% 新手卡住的第一步。
Go 环境必须是 1.21 或更高版本
Buffalo CLI 是用 Go 写的,go install 命令在低于 1.21 的版本上会失败,或编译出不可用的二进制。执行:
go version
输出必须类似 go version go1.26.0 darwin/arm64。如果不是:
- 去 https://www.php.cn/link/81836b7cd16991abb7febfd7832927fd 下载 Go 1.26.0(当前稳定兼容版本)
- 安装后确认
go env GOPATH返回非空路径(默认是$HOME/go) - 确保
$GOPATH/bin已加入系统PATH,否则buffalo命令找不到
buffalo CLI 安装失败时的两个可靠方案
如果 go install github.com/gobuffalo/cli/cmd/buffalo@latest 报 cannot find module providing package,别硬试,直接切备用方式:
-
Linux/macOS:去 GitHub Releases 下载最新
buffalo_*.tar.gz,解压后把buffalo二进制复制到/usr/local/bin/并运行chmod +x /usr/local/bin/buffalo -
Windows:用 Scoop(推荐),依次运行
scoop bucket add extras和scoop install buffalo—— Scoop 自动注册 PATH,不用手动配置
装完务必新开终端,运行 buffalo version 验证。输出类似 v0.18.13 才算真正就位。
Buffalo框架 1.0.1 版本源码包下载,适合需要错误处理改进、依赖更新、render.Download 注释和 request logger 调整的 v1 项目。
database.yml 配置错一个字段,buffalo pop create -a 就连不上
Buffalo 不启动数据库,只负责连接。所以你得自己先跑起来 PostgreSQL 或 MySQL:
- PostgreSQL:确认
ps aux | grep postgres有进程,再telnet localhost 5432测试端口 - MySQL:用
systemctl status mysql和telnet 127.0.0.1 3306
然后编辑 config/database.yml 的 development: 区块:
- PostgreSQL 的
dialect必须写"postgres"(不是postgresql或pg),否则报unknown dialect - MySQL 的
host推荐写"127.0.0.1",避免 Unix socket 解析失败 - 填完立刻执行
buffalo pop create -a—— 成功输出created database myapp_development才算真正通了
第一次运行项目前,三步顺序不能乱
Buffalo 项目不是 clone 就能 buffalo dev 的,必须按顺序走:
- 进项目根目录,先
go mod tidy(拉 Go 依赖)和npm install(拉前端资源,即使你不用也要装) - 再
buffalo db create(建库)和buffalo db migrate(跑迁移) - 最后
buffalo dev启动 —— 如果这步报错,95% 是前两步某处没成功
特别注意:buffalo dev 默认监听 :3000,但如果你改过 APP_ADDR 环境变量或 actions/app.go 中的 app.Serve() 参数,端口可能不同,别盲目 curl localhost:3000。

















