将Firebase添加到电子项目的问题,gRPC依赖问题

Dyl*_*ele 2 node.js firebase electron

我已经有这个问题已经有几天了,并且无法找到解决方案.从我的研究看来,这似乎是一个已知问题,但在我的案例中没有提供任何修复工作.

我试过了:

npm rebuild

npm install grpc --runtime=electron --target=1.7.6
Run Code Online (Sandbox Code Playgroud)

我尝试的另一件事是将它添加到package.json文件中:

  "resolutions": {
    "grpc": "^1.12.0"
  },
Run Code Online (Sandbox Code Playgroud)

此外,我已经尝试过更改版本的电子,grpc,firebase.

我一直在控制台上遇到的错误是:

E:\GitHub\Portfolio-Manager\node_modules\grpc\src\grpc_extension.js:53 Uncaught Error: Failed to load gRPC binary module because it was not installed for the current system
    Expected directory: electron-v1.7-win32-x64-unknown
    Found: [node-v59-win32-x64-unknown]
    This problem can often be fixed by running "npm rebuild" on the current system
    Original error: Cannot find module 'E:\GitHub\Portfolio-Manager\node_modules\grpc\src\node\extension_binary\electron-v1.7-win32-x64-unknown\grpc_node.node'
        at Object.<anonymous> (E:\GitHub\Portfolio-Manager\node_modules\grpc\src\grpc_extension.js:53)
        at Object.<anonymous> (E:\GitHub\Portfolio-Manager\node_modules\grpc\src\grpc_extension.js:63)
        at Module._compile (VM129 module.js:571)
        at Object.Module._extensions..js (VM129 module.js:580)
        at Module.load (VM129 module.js:488)
        at tryModuleLoad (VM129 module.js:447)
        at Function.Module._load (VM129 module.js:439)
        at Module.require (VM129 module.js:498)
        at require (VM130 module.js:20)
        at Object.<anonymous> (E:\GitHub\Portfolio-Manager\node_modules\grpc\src\client_interceptors.js:145)
Run Code Online (Sandbox Code Playgroud)

当前依赖关系:

  "dependencies": {
    "axios": "^0.16.1",
    "firebase": "^5.3.1",
    "flexboxgrid": "^6.3.1",
    "grpc": "^1.12",
    "nedb": "^1.8.0",
    "numeral": "^2.0.6",
    "vue": "^2.3.3",
    "vue-electron": "^1.0.6",
    "vue-router": "^3.0.1",
    "vue2-scrollbar": "0.0.3"
  },
Run Code Online (Sandbox Code Playgroud)

任何形式的帮助将不胜感激.

Dyl*_*ele 7

经过一番研究后,我找到了一个可以正确重建二进制文件的命令.

npm rebuild --runtime=electron --target=1.8.4 --disturl=https://atom.io/download/electron
Run Code Online (Sandbox Code Playgroud)

至于电子1.8的这个帖子.*应该适用于此.

  • 我用target = 3.0.4 (2认同)