grpc 的 gitlab-ci 构建失败

TmT*_*ron 3 node.js gitlab-ci firebase-admin grpc-node

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

  • package.json文件还没有改变时,CI构建停止工作
  • 即使是几天前还可以的旧 ci-build,当我重新启动它们时不再工作
  • 构建仍然适用于我的 Windows 开发机器(即使在删除 node_modules 并重新安装之后)

以下是错误日志的摘录:

> 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 
Run Code Online (Sandbox Code Playgroud)

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

npm ls grpc
`-- firebase-admin@6.1.0
  `-- @google-cloud/firestore@0.18.0
    `-- google-gax@0.20.0
      `-- grpc@1.16.0
Run Code Online (Sandbox Code Playgroud)

知道为什么会发生这种情况或解决方法的想法吗?
即版本配置为"firebase-admin": "^6.1.0",我的package.json,所以不应该有任何破坏性的变化,对吧?

TmT*_*ron 5

正如@itaied所提到的,这是节点 11 上的grpc 的一个问题:grpc#594

现在的解决方法使用节点 10:即在开始时.gitlab-ci.yml

image: node:10
Run Code Online (Sandbox Code Playgroud)