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

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

  • 以下是错误日志的摘录:
    > [email protected] 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 [email protected] and [email protected] (node-v67 ABI, glibc) (falling back to source compile with node-gyp)
    node-pre-gyp WARN Pre-built binaries not installable for [email protected] and [email protected] (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
    `-- [email protected]
      `-- @google-cloud/[email protected]
        `-- [email protected]
          `-- [email protected]
    

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

    最佳答案

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

    解决方法 现在是 使用 Node 10 :即在 .gitlab-ci.yml 的开头:

    image: node:10
    

    关于node.js - grpc 的 gitlab-ci 构建失败,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53139831/

    10-14 04:02