use*_*888 0 heroku node.js grpc
我正在尝试将对NodeJS Web应用程序的更改推送到heroku。但是,我在构建阶段遇到以下错误消息。我知道问题出在“ grpc”(请参阅错误消息),我怀疑这是Firebase的依赖项。但是,我不知道如何解决该问题。这是我在SO上发现的一个非常相似的问题,但是该线程上没有明确的解决方案。
remote: [4/4] Building fresh packages...
remote: error /tmp/build_5dcbc8b8883705e76971dd8574f59db8/node_modules/grpc: Command failed.
remote: Exit code: 1
remote: Command: ./node_modules/.bin/node-pre-gyp install --fallback-to-build --library=static_library
remote: Arguments:
remote: Directory: /tmp/build_5dcbc8b8883705e76971dd8574f59db8/node_modules/grpc
remote: Output:
remote: node-pre-gyp ERR! Tried to download(403): https://storage.googleapis.com/grpc-precompiled-binaries/node/grpc/v1.10.1/node-v64-linux-x64-glibc.tar.gz
remote: node-pre-gyp ERR! Pre-built binaries not found for grpc@1.10.1 and node@10.4.0 (node-v64 ABI, glibc) (falling back to source compile with node-gyp)
remote: node-pre-gyp ERR! Pre-built binaries not installable for grpc@1.10.1 and node@10.4.0 (node-v64 ABI, glibc) (falling back to source compile with node-gyp)
remote: node-pre-gyp ERR! Hit error Connection closed while downloading tarball file
remote: make: Entering directory '/tmp/build_5dcbc8b8883705e76971dd8574f59db8/node_modules/grpc/build'
remote: make: Entering directory '/tmp/build_5dcbc8b8883705e76971dd8574f59db8/node_modules/grpc/build'
remote: CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/surface/init.o
remote: CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/surface/init.o
remote: CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/avl/avl.o
remote: sed: can't read ./Release/.deps/Release/obj.target/grpc/deps/grpc/src/core/lib/surface/init.o.d.raw: No such file or directory
remote: rm: cannot remove './Release/.deps/Release/obj.target/grpc/deps/grpc/src/core/lib/surface/init.o.d.raw': No such file or directory
remote: grpc.target.mk:394: recipe for target 'Release/obj.target/grpc/deps/grpc/src/core/lib/surface/init.o' failed
remote: make: Leaving directory '/tmp/build_5dcbc8b8883705e76971dd8574f59db8/node_modules/grpc/build'
remote: make: *** [Release/obj.target/grpc/deps/grpc/src/core/lib/surface/init.o] Error 1
remote: gyp ERR! build error
remote: gyp ERR! stack Error: `make` failed with exit code: 2
remote: gyp ERR! stack at ChildProcess.onExit (/tmp/build_5dcbc8b8883705e76971dd8574f59db8/node_modules/node-gyp/lib/build.js:262:23)
remote: gyp ERR! stack at ChildProcess.emit (events.js:182:13)
remote: gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:237:12)
remote: gyp ERR! System Linux 4.4.0-1019-aws
remote: gyp ERR! command "/tmp/build_5dcbc8b8883705e76971dd8574f59db8/.heroku/node/bin/node" "/tmp/build_5dcbc8b8883705e76971dd8574f59db8/node_modules/node-gyp/bin/node-gyp.js" "build" "--fallback-to-build" "--library=static_library" "--module=/tmp/build_5dcbc8b8883705e76971dd8574f59db8/node_modules/grpc/src/node/extension_binary/node-v64-linux-x64-glibc/grpc_node.node" "--module_name=grpc_node" "--module_path=/tmp/build_5dcbc8b8883705e76971dd8574f59db8/node_modules/grpc/src/node/extension_binary/node-v64-linux-x64-glibc"
remote: gyp ERR! cwd /tmp/build_5dcbc8b8883705e76971dd8574f59db8/node_modules/grpc
remote: gyp ERR! node -v v10.4.0
remote: gyp ERR! node-gyp -v v3.7.0
remote: gyp ERR! not ok
remote: node-pre-gyp ERR! build error
Run Code Online (Sandbox Code Playgroud)
解决了:
按照此链接上的说明进行操作
OK :) firebase 4.6.2 firebase-admin 5.3.0 firebase-tools 3.7.0
KO :( firebase 4.7.0 + firebase-admin 5.4.0 + firebase-tools 3.8.0 +
在此情况下,您可能会认为较旧的版本可以与Firestore一起使用。但是,如果您要使用Firestore,它将要求使用grpc节点模块,并且如果对它进行纱线处理,则会出现相同的错误:/
此处的主要问题是,您尝试安装的gRPC版本与您使用的Node版本不兼容。该错误表明您正在使用节点10安装gRPC@1.10.1。支持节点10的gRPC的第一个版本是gRPC@1.11.1。因此,通常,解决此问题的方法是降级Node版本或升级gRPC版本。
您的编辑似乎表明,你能够通过降级的版本来解决这个问题firebase
,firebase-admin
以及firebase-tools
包所使用。这可能行得通,因为您尝试的特定版本首先将gRPC依赖关系固定到了较旧的版本,而降级使您获得了没有固定依赖关系的版本。但是,每个软件包都具有较新的版本,这些版本不会固定gRPC依赖性,因此应为您提供最新版本。
归档时间: |
|
查看次数: |
586 次 |
最近记录: |