背景
最近在看一个Golang的开源项目,项目中使用到了GORM但只支持了MySQL和PostgreSQL,为了练手尝试添加对SQlite的支持。
| 1 | import ( | 
编写完代码后在本地go run运行很正常,但当使用alpine构建docker镜像时遇到了问题…
问题
编译会卡在sqlite3,报错信息为:
| 1 | 12 73.08 # github.com/mattn/go-sqlite3 | 
原因及解决方法
原因是因为官方并没有提供预编译的包,需要自己编译,但是直接编译的话会提示报错,需要在先安装一下g++。
我们只要在Dockerfile中添加以下内容:
| 1 | RUN apk add --no-cache --virtual .build-deps \ | 
问题即可解决。
示例
Done.