3

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

  • ci 构建停止工作时package.json文件未更改
  • 即使是几天前还可以的较旧的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 

似乎无法下载 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

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

4

2 回答 2

5

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

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

image: node:10
于 2018-11-05T10:09:37.280 回答
0

就我而言,我更改为 node:8-jessie 并且效果很好,但原理相同!!


更新!

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

于 2019-11-05T13:53:50.073 回答