gitlab-ci的grpc构建失败

时间:2018-11-04 10:29:24

标签: node.js gitlab-ci firebase-admin grpc-node

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

  • ci构建停止工作时,package.json文件未更改
  • 即使几天前还可以的较旧的ci-build,重新启动后都无法使用
  • 即使在删除node_modules并重新安装后,该构建仍然可以在我的Windows开发计算机上运行

以下是错误日志的摘录:

> 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

有什么想法可能会发生这种情况吗? 即该版本在我的"firebase-admin": "^6.1.0",中配置为package.json,所以应该没有重大更改,对吧?

2 个答案:

答案 0 :(得分:2)

@itaied所述,这是节点11上grpc的问题:grpc#594

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

image: node:10

答案 1 :(得分:0)

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


更新!

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

相关问题