2

grpc版本: 1.24.2

在部署我的 Node.js 应用程序时,我遇到了grpc package的二进制文件问题。

错误:

Error: Failed to load gRPC binary module because it was not installed for the current system
Expected directory: node-v83-linux-x64-musl
Found: [node-v72-linux-x64-musl]
This problem can often be fixed by running "npm rebuild" on the current system
Original error: Cannot find module '/app/node_modules/grpc/src/node/extension_binary/node-v83-linux-x64-musl/grpc_node.node'

我在 Dockerfile 中尝试了这些命令:

  • npm rebuild
  • npm install --unsafe-perm
  • npm install --target=13.0.0 --target_platform=linux --target_arch=x64

Dockerfile(在这里找到):

FROM node:lts-alpine
WORKDIR /app

COPY package*.json ./

RUN apk add --no-cache --virtual .gyp \
        python \
        make \
        g++ \
    && npm install \
    && apk del .gyp gcc g++ python

COPY . .

RUN npm run build

EXPOSE 9080

CMD ["npm", "start"]

我也尝试配置二进制文件的位置,但没有找到 node-v83-linux-x64-musl。配置二进制文件位置

相关问题:

我需要你的帮助!— murgatroid99

4

1 回答 1

0

模块版本 83 对应于 Node 14,而不是 13。不幸的是,我们还没有发布 Node 14 的二进制文件,所以很难让它工作

完整答案 - https://github.com/grpc/grpc-node/issues/1460#issuecomment-638965479

于 2020-06-04T17:12:14.303 回答