Node.js node_modules\grpc\src\node\extension_binary\node-v83-win32-x64-unknown\grpc_node.节点

Node.js node_modules\grpc\src\node\extension_binary\node-v83-win32-x64-unknown\grpc_node.node

我正在使用 node.js

在 gRPC 上进行概念验证

这是我的 package.json

{
  "name": "grpc-node-demo",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "dependencies": {
    "@grpc/proto-loader": "^0.1.0",
    "grpc": "^1.11.0",
    "lodash": "^4.6.1"
  }
}

写入原型文件、客户端和服务器文件后。当我运行命令节点server.js 我收到以下错误

PS C:\Learnings\node\grpc-nodejs-demo> node server.js
C:\Learnings\node\grpc-nodejs-demo\node_modules\grpc\src\grpc_extension.js:58
    throw e;
    ^

Error: Failed to load C:\Learnings\node\grpc-nodejs-demo\node_modules\grpc\src\node\extension_binary\node-v83-win32-x64-unknown\grpc_node.node. \?\C:\Learnings\node\grpc-nodejs-demo\node_modules\grpc\src\node\extension_binary\node-v83-win32-x64-unknown\grpc_node.node is not a valid Win32 application.
\?\C:\Learnings\node\grpc-nodejs-demo\node_modules\grpc\src\node\extension_binary\node-v83-win32-x64-unknown\grpc_node.node
    at Object.Module._extensions..node (internal/modules/cjs/loader.js:1122:18)
    at Module.load (internal/modules/cjs/loader.js:928:32)
    at Function.Module._load (internal/modules/cjs/loader.js:769:14)
    at Module.require (internal/modules/cjs/loader.js:952:19)
    at require (internal/modules/cjs/helpers.js:88:18)
    at Object.<anonymous> (C:\Learnings\node\grpc-nodejs-demo\node_modules\grpc\src\grpc_extension.js:32:13)
    at Module._compile (internal/modules/cjs/loader.js:1063:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1092:10)
    at Module.load (internal/modules/cjs/loader.js:928:32)
    at Function.Module._load (internal/modules/cjs/loader.js:769:14)
PS C:\Learnings\node\grpc-nodejs-demo>

有什么想法吗??

经过一番研究,我按照以下步骤解决了这个问题

  • 我缺少 node-gyp - 这是 Node.js 本机插件构建工具。它可以通过

    安装

    npm install -g node-gyp

  • 安装Python

  • 安装 Visual C++ 构建环境

  • 清理节点模块

  • 然后在文件夹npm install

下面link详细说说上面的步骤: https://github.com/nodejs/node-gyp#on-windows