必须先安装buffalo cli,再初始化项目、拉依赖、建库、跑服务——四步缺一不可;跳过任意一步都会导致buffalo dev报错退出。

必须先装好 Buffalo CLI,再初始化项目、拉依赖、建库、跑服务——四步缺一不可,跳过任意一步都会在 buffalo dev 阶段直接报错退出。
buffalo CLI 安装失败常见原因和修复
最常卡在 command not found,本质是 PATH 没生效或 Go 版本太低。
- 执行
go version,必须 ≥go1.21;低于此版本会触发go install编译失败 - 运行
go env GOPATH,确认输出非空;若为空,需先配置 GOPATH(如export GOPATH=$HOME/go) - 安装命令必须是
go install github.com/gobuffalo/cli/cmd/buffalo@latest,不是旧版v2或github.com/gobuffalo/buffalo - 安装后新开终端再执行
buffalo version;如果仍报错,检查$GOPATH/bin是否在$PATH中(echo $PATH)
buffalo new 生成项目后必须立刻做的三件事
刚执行完 buffalo new myapp,别急着 buffalo dev —— 项目目录下还缺运行时依赖、数据库连接和静态资源构建能力。
Buffalo框架 1.0.1 版本源码包下载,适合需要错误处理改进、依赖更新、render.Download 注释和 request logger 调整的 v1 项目。
- 进项目根目录,先跑
go mod tidy:CLI 生成的go.mod只列顶层依赖,子依赖(如github.com/gobuffalo/pop/v6)必须显式补全,否则后续buffalo db migrate会 panic - 紧接着执行
npm install(或yarn install):即使你打算删掉assets/,首次也必须装,因为buffalo dev默认调用 Webpack,找不到node_modules就中断 - 检查
config/database.yml中development区块:确保dialect是小写"postgres"或"mysql"(不能写成postgresql),且host、port、user、password与本地数据库实例一致
buffalo dev 启动失败的三个高频排查点
终端输出 “Starting application…” 但浏览器打不开,或直接 panic 退出,大概率是以下其一。
-
buffalo db create和buffalo db migrate没执行:这两步必须在buffalo dev前完成;否则models.NewDB()连接后查表会报table not found - 端口被占但没注意提示:
buffalo dev遇到:3000占用会自动试:3001,但不会静默跳过,务必看终端最后一行输出的实际地址 -
public/目录不存在或为空:buffalo dev默认启用 packr2 打包静态资源,若public/缺失,访问/assets/app.css等路径必 404;可手动建空目录或放个public/.keep文件
database.yml 里写的配置其实不被运行时读取,真实连接逻辑由 models.NewDB() 决定,它优先从环境变量(如 DB_URL)取值;所以开发时配对了 database.yml,还得确认 DB_URL 没被意外覆盖或遗漏。










