使用Sqlite的Go Buffalo项目测试报错:无法找到test连接
问题解决方法
核心原因
错误提示明确说明sqlite3支持未编译进二进制,这是因为Go Buffalo的POP ORM依赖在构建时需要启用CGO并安装sqlite3的驱动开发依赖。
解决步骤
安装系统级sqlite3开发库
不同系统执行对应命令:- Debian/Ubuntu:
sudo apt-get install libsqlite3-dev - macOS(Homebrew):
brew install sqlite3 - Windows:下载sqlite3开发包,配置环境变量确保头文件和库文件能被CGO识别。
- Debian/Ubuntu:
启用CGO并重新安装依赖
进入项目目录执行:CGO_ENABLED=1 go get github.com/gobuffalo/pop/v6若之前安装Buffalo时禁用了CGO,需重新安装Buffalo工具:
CGO_ENABLED=1 go install github.com/gobuffalo/buffalo/v2@latest初始化测试环境数据库
buffalo db create -e test buffalo db migrate -e test重新运行测试
buffalo test
额外说明
sqlite3是依赖CGO的数据库驱动,必须确保CGO_ENABLED=1(类Unix系统默认开启,Windows需手动设置环境变量)。
内容的提问来源于stack exchange,提问作者Muhammad Kholid B
相关产品推荐
相关产品推荐

