试了好多次都失败了,报错信息
node-pre-gyp install --fallback-to-build
只要碰到有 node-sqlite3 依赖的 docker image 每次都卡在 sqlite3 这
base image 是 alpine,node 试过 4.x 和 6.x
去 github 页面看 issues 一堆用户碰到类似的问题
升级了 npm 还是不行
按照 issues 里提到的可能的几种方法试了也不行
比如 npm i sqlite3 --build-from-source
或者 npm install --unsafe-perm sqlite3
看 library 里 ghost 的 Dockerfile 也没有什么特殊操作,而 ghost 也有 sqlite3 这个依赖,不知道为何我就老卡在这
后来解决了,需要手动安装一个软件包:
apk add sqlite-libs
看 ghost 官方 alpine 镜像并没有明确指定这个依赖,但是会自动安装上,我自己尝试搭的另一个服务的 alpine 镜像就必须要装一下才行
后来又发现 node-sqlite3 这个包的安装对于 x64 是直接安装预编译的包,而其它架构比如 i386 或者 armhf 这些因为官方并没有提供预编译的包,需要自己编译,但是直接编译的话会提示报错,原因是缺少依赖,具体来说需要先安装一下 g++,比如想 build arm的ghost alpine/debian image,需要在 docker library 官方版本 Dockerfile 中加一下 g++
apk add --no-cache --virtual .build-deps \
ca-certificates \
gcc \
+ g++ \
1
cxbig 2017-06-19 22:07:46 +08:00
要先确认你的 image 里有安装 sqlite3
|
2
momocraft 2017-06-19 22:34:17 +08:00
那你可以用 ghost 的 Dockerfile build 嗎?
|
3
Pastsong 2017-06-19 23:59:32 +08:00
这个是因为他要从某个 github aws 的地址上拉东西下来,把命令行挂上代理就好了
|
4
shiny 2017-06-20 02:10:14 +08:00 via Android
试试用构建服务,选择海外服务器。
|