gitlab-ci 构建 grpc 失败

gitlab-ci build fails for grpc

我的 node.js 构建在 gitlab-ci 服务器上停止工作 2 天前。我真的不明白为什么。更多信息:

以下是错误日志的摘录:

> grpc@1.16.0 install /builds/vallen-bridge/source/server/node_modules/grpc
> node-pre-gyp install --fallback-to-build --library=static_library

node-pre-gyp WARN Using request for node-pre-gyp https download 
node-pre-gyp WARN Tried to download(404): https://node-precompiled-binaries.grpc.io/grpc/v1.16.0/node-v67-linux-x64-glibc.tar.gz 
node-pre-gyp WARN Pre-built binaries not found for grpc@1.16.0 and node@11.1.0 (node-v67 ABI, glibc) (falling back to source compile with node-gyp) 
node-pre-gyp WARN Pre-built binaries not installable for grpc@1.16.0 and node@11.1.0 (node-v67 ABI, glibc) (falling back to source compile with node-gyp) 
node-pre-gyp WARN Hit error Connection closed while downloading tarball file 
make: Entering directory '/builds/vallen-bridge/source/server/node_modules/grpc/build'
make: Entering directory '/builds/vallen-bridge/source/server/node_modules/grpc/build'
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/surface/init.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/surface/init.o
rm: cannot remove './Release/.deps/Release/obj.target/grpc/deps/grpc/src/core/lib/surface/init.o.d.raw': No such file or directory
grpc.target.mk:470: recipe for target 'Release/obj.target/grpc/deps/grpc/src/core/lib/surface/init.o' failed
make: *** [Release/obj.target/grpc/deps/grpc/src/core/lib/surface/init.o] Error 1
make: Leaving directory '/builds/vallen-bridge/source/server/node_modules/grpc/build'
gyp ERR! build error 

似乎无法下载 grpc 二进制文件,作为后备,系统尝试从源构建包,但也失败了。 firebase-admin 需要 grpc:

npm ls grpc
`-- firebase-admin@6.1.0
  `-- @google-cloud/firestore@0.18.0
    `-- google-gax@0.20.0
      `-- grpc@1.16.0

知道为什么会发生这种情况或有解决方法吗?
即版本在我的 package.json 中配置为 "firebase-admin": "^6.1.0",,所以应该不会有任何重大更改,对吗?

@itaied this is an issue with grpc on node 11: grpc#594

所述

目前的解决方法使用节点10:即在.gitlab-ci.yml的开头:

image: node:10

在我的情况下,我改为 node:8-jessie,效果很好,但原理相同!!


更新!

看看https://hub.docker.com/_/node?tab=tags,你可以看到所有可以使用的node版本和debian版本的组合,只是不要使用node 12