渲染托管“服务器不健康”

问题描述 投票:0回答:2

我的托管服务(渲染)突然返回“服务器不健康,以状态 1 退出”,我不知道该怎么办。

Nov 29 03:45:37 PM     │   ✖ Nuxt Fatal Error                                                                                                                    │
Nov 29 03:45:37 PM     │                                                                                                                                         │
Nov 29 03:45:37 PM     │   Error: Failed to load gRPC binary module because it was not installed for the                                                         │
Nov 29 03:45:37 PM     │   current system                                                                                                                        │
Nov 29 03:45:37 PM     │   Expected directory: node-v83-linux-x64-glibc                                                                                          │
Nov 29 03:45:37 PM     │   Found: [node-v64-linux-x64-glibc]                                                                                                     │
Nov 29 03:45:37 PM     │   This problem can often be fixed by running "npm rebuild" on the current system 

我尝试在 shell 中运行建议的 npm 重建,但没有成功。非常感谢您的帮助。是因为该项目使用的节点版本过时吗?如果是这样,让这个项目在这个版本上运行会有问题吗?

node.js hosting
2个回答
1
投票

该错误消息意味着安装的 gRPC 二进制包版本与其运行的系统不匹配。特别是,您的特定错误意味着该软件包是与 Node 10 一起安装的,但您的代码在 Node 14 上运行。通常,可以通过在运行代码的系统上运行

npm rebuild
来纠正这一问题,但如果不是,您可以使用
npm rebuild --target=14.0.0
为您的目标系统显式安装,或者如果这不起作用,则
npm install --target=14.0.0

请注意,

grpc
包已被弃用。如果可能的话,建议您切换到
@grpc/grpc-js
包,它不会出现这样的问题。


0
投票

运行

npm rebuild
应重新编译并重建任何本机二进制依赖项以匹配您当前的 Node.js 版本(在本例中为 Node.js 14),从而可能解决版本不匹配问题。

请注意,在某些情况下运行

npm rebuild
可能需要管理权限,因此如果遇到权限问题,您可能需要在类 Unix 系统上使用
sudo npm rebuild

© www.soinside.com 2019 - 2024. All rights reserved.