grpc-node: Electron v6 and gRPC error
Problem description
We are unable to use gRPC with electron v6.
Reproduction steps
Start with an empty directory. Setup electron and grpc:
yarn add electron@6.0.1
yarn add grpc
Re-buliding grpc for electron returns an error:
npm rebuild --runtime=electron --target=6.0.1
Environment
- macOS 10.14.5
- v10.16.0
- nvm
- Apple LLVM version 10.0.1 (clang-1001.0.46.4)
- 1.22.2
Additional context
Traceback:
> electron@6.0.1 postinstall /Users/davidkell/dev/node_modules/electron
> node install.js
> grpc@1.22.2 install /Users/davidkell/dev/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.22.2/electron-v6.0-darwin-x64-unknown.tar.gz
node-pre-gyp WARN Pre-built binaries not found for grpc@1.22.2 and electron@6.0.1 (electron-v6.0 ABI, unknown) (falling back to source compile with node-gyp)
gyp WARN install got an error, rolling back install
gyp ERR! configure error
gyp ERR! stack Error: 404 response downloading https://nodejs.org/dist/v6.0.1/node-v6.0.1-headers.tar.gz
gyp ERR! stack at Request.<anonymous> (/Users/davidkell/.nvm/versions/node/v10.16.0/lib/node_modules/npm/node_modules/node-gyp/lib/install.js:214:14)
gyp ERR! stack at Request.emit (events.js:203:15)
gyp ERR! stack at Request.onRequestResponse (/Users/davidkell/.nvm/versions/node/v10.16.0/lib/node_modules/npm/node_modules/request/request.js:1066:10)
gyp ERR! stack at ClientRequest.emit (events.js:198:13)
gyp ERR! stack at HTTPParser.parserOnIncomingClient [as onIncoming] (_http_client.js:556:21)
gyp ERR! stack at HTTPParser.parserOnHeadersComplete (_http_common.js:109:17)
gyp ERR! stack at TLSSocket.socketOnData (_http_client.js:442:20)
gyp ERR! stack at TLSSocket.emit (events.js:198:13)
gyp ERR! stack at addChunk (_stream_readable.js:288:12)
gyp ERR! stack at readableAddChunk (_stream_readable.js:269:11)
gyp ERR! System Darwin 18.6.0
gyp ERR! command "/Users/davidkell/.nvm/versions/node/v10.16.0/bin/node" "/Users/davidkell/.nvm/versions/node/v10.16.0/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "configure" "--fallback-to-build" "--library=static_library" "--module=/Users/davidkell/dev/node_modules/grpc/src/node/extension_binary/electron-v6.0-darwin-x64-unknown/grpc_node.node" "--module_name=grpc_node" "--module_path=/Users/davidkell/dev/node_modules/grpc/src/node/extension_binary/electron-v6.0-darwin-x64-unknown" "--napi_version=4" "--node_abi_napi=napi" "--napi_build_version=0" "--node_napi_label=electron-v6.0"
gyp ERR! cwd /Users/davidkell/dev/node_modules/grpc
gyp ERR! node -v v10.16.0
gyp ERR! node-gyp -v v3.8.0
gyp ERR! not ok
node-pre-gyp ERR! build error
node-pre-gyp ERR! stack Error: Failed to execute '/Users/davidkell/.nvm/versions/node/v10.16.0/bin/node /Users/davidkell/.nvm/versions/node/v10.16.0/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js configure --fallback-to-build --library=static_library --module=/Users/davidkell/dev/node_modules/grpc/src/node/extension_binary/electron-v6.0-darwin-x64-unknown/grpc_node.node --module_name=grpc_node --module_path=/Users/davidkell/dev/node_modules/grpc/src/node/extension_binary/electron-v6.0-darwin-x64-unknown --napi_version=4 --node_abi_napi=napi --napi_build_version=0 --node_napi_label=electron-v6.0' (1)
node-pre-gyp ERR! stack at ChildProcess.<anonymous> (/Users/davidkell/dev/node_modules/grpc/node_modules/node-pre-gyp/lib/util/compile.js:83:29)
node-pre-gyp ERR! stack at ChildProcess.emit (events.js:198:13)
node-pre-gyp ERR! stack at maybeClose (internal/child_process.js:982:16)
node-pre-gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:259:5)
node-pre-gyp ERR! System Darwin 18.6.0
node-pre-gyp ERR! command "/Users/davidkell/.nvm/versions/node/v10.16.0/bin/node" "/Users/davidkell/dev/node_modules/grpc/node_modules/.bin/node-pre-gyp" "install" "--fallback-to-build" "--library=static_library"
node-pre-gyp ERR! cwd /Users/davidkell/dev/node_modules/grpc
node-pre-gyp ERR! node -v v10.16.0
node-pre-gyp ERR! node-pre-gyp -v v0.13.0
node-pre-gyp ERR! not ok
Failed to execute '/Users/davidkell/.nvm/versions/node/v10.16.0/bin/node /Users/davidkell/.nvm/versions/node/v10.16.0/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js configure --fallback-to-build --library=static_library --module=/Users/davidkell/dev/node_modules/grpc/src/node/extension_binary/electron-v6.0-darwin-x64-unknown/grpc_node.node --module_name=grpc_node --module_path=/Users/davidkell/dev/node_modules/grpc/src/node/extension_binary/electron-v6.0-darwin-x64-unknown --napi_version=4 --node_abi_napi=napi --napi_build_version=0 --node_napi_label=electron-v6.0' (1)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! grpc@1.22.2 install: `node-pre-gyp install --fallback-to-build --library=static_library`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the grpc@1.22.2 install script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR! /Users/davidkell/.npm/_logs/2019-08-08T23_18_33_650Z-debug.log
About this issue
- Original URL
- State: closed
- Created 5 years ago
- Reactions: 1
- Comments: 17 (5 by maintainers)
Version 1.23.0 is now out with Electron 6 support. Please try that version.
I’m sorry, Electron 6 support got broken in grpc 1.24.0. But it is fixed in grpc 1.24.1
@nkndy these are the relevant versions listed in my
package-lock
fileI don’t remember 100% but I may have actually edited the package-lock file manually in order to make this work. My statement about the upgrade making it work was a false positive, I just forgot to come back here and edit my comment.
That’s why if you compare what I am currently using with my previous snippet, you will see that the old snippet lists firestore 1.5.0 with grpc 1.22.2 whereas the one here shows the same firestore with a newer grpc