node-v59-linux-x64/grpc_node.node 丢失
node-v59-linux-x64/grpc_node.node is missing
我正在尝试在我的服务器中使用 Firebase admin SDK。部署时出现错误,我在 firebase-admin node_module 地图中缺少文件 node-v59-linux-x64/grpc_node.node。我在我的包中添加了 "grpc": "1.7.1",但在 NPM 更新后我仍然没有得到该文件。我得到一个旧版本,node-v57。我也检查了这个路径 https://registry.npmjs.org/grpc/-/grpc-1.7.1.tgz,但我找不到文件。我删除了我的 node_modules 地图并再次 运行 npm install,仍然没有 node-v59。
How/where 我可以下载那个文件吗?有没有人可以把文件放在这里,这样我就可以手动添加了?
Error: Cannot find module
'/data/app/node_modules/grpc/src/node/extension_binary/node-v59-linux-x64/grpc_node.node'
我遇到了同样的问题。您可以在此处下载文件:https://storage.googleapis.com/grpc-precompiled-binaries/node/grpc/v1.7.1/node-v59-linux-x64.tar.gz
这种问题通常是由于在一个系统上安装库,然后在需要不同二进制文件的不同系统上部署和 运行ning 引起的。
此问题最简单的解决方案是 运行 npm rebuild
在您部署的系统上部署后。
或者,如果 npm rebuild
不是一个选项,您可以通过 运行ning npm install
为您正在部署的系统预安装二进制文件以及一些额外的选项。 --target
参数允许您安装不同版本的 Node。 --target=9.0.0
的参数为 Node 9 安装二进制文件(只有主要版本必须匹配)。 --target_platform
参数允许您针对特定操作系统进行安装:windows
、linux
或 darwin
(Mac)。 --target_arch
参数允许您安装不同的处理器体系结构:ia32
、x64
或 arm
。最后,--target_libc
参数允许您 select 为不同的 libc 构建的二进制文件:glibc
或 musl
(对于 Alpine Linux)。
因此,在您的情况下,您应该能够通过 运行ning
获得该二进制文件
npm install --target=9.0.0 --target_platform=linux --target_arch=x64
这对我的案例有帮助,基于@murgatroid99 的回答:
npm rebuild --target=8.1.0 --target_platform=linux --target_arch=x64 --target_libc=glibc --update-binary
它会将所需的二进制文件下载到您的 node_modules/grpc
目录。
我在我的开发机器上 运行 macOS X,我正在部署到 AWS Lambda;这会同时安装 运行time 版本,这意味着我可以在本地开发和测试,然后部署到 Lambda。
我正在尝试在我的服务器中使用 Firebase admin SDK。部署时出现错误,我在 firebase-admin node_module 地图中缺少文件 node-v59-linux-x64/grpc_node.node。我在我的包中添加了 "grpc": "1.7.1",但在 NPM 更新后我仍然没有得到该文件。我得到一个旧版本,node-v57。我也检查了这个路径 https://registry.npmjs.org/grpc/-/grpc-1.7.1.tgz,但我找不到文件。我删除了我的 node_modules 地图并再次 运行 npm install,仍然没有 node-v59。
How/where 我可以下载那个文件吗?有没有人可以把文件放在这里,这样我就可以手动添加了?
Error: Cannot find module '/data/app/node_modules/grpc/src/node/extension_binary/node-v59-linux-x64/grpc_node.node'
我遇到了同样的问题。您可以在此处下载文件:https://storage.googleapis.com/grpc-precompiled-binaries/node/grpc/v1.7.1/node-v59-linux-x64.tar.gz
这种问题通常是由于在一个系统上安装库,然后在需要不同二进制文件的不同系统上部署和 运行ning 引起的。
此问题最简单的解决方案是 运行 npm rebuild
在您部署的系统上部署后。
或者,如果 npm rebuild
不是一个选项,您可以通过 运行ning npm install
为您正在部署的系统预安装二进制文件以及一些额外的选项。 --target
参数允许您安装不同版本的 Node。 --target=9.0.0
的参数为 Node 9 安装二进制文件(只有主要版本必须匹配)。 --target_platform
参数允许您针对特定操作系统进行安装:windows
、linux
或 darwin
(Mac)。 --target_arch
参数允许您安装不同的处理器体系结构:ia32
、x64
或 arm
。最后,--target_libc
参数允许您 select 为不同的 libc 构建的二进制文件:glibc
或 musl
(对于 Alpine Linux)。
因此,在您的情况下,您应该能够通过 运行ning
获得该二进制文件npm install --target=9.0.0 --target_platform=linux --target_arch=x64
这对我的案例有帮助,基于@murgatroid99 的回答:
npm rebuild --target=8.1.0 --target_platform=linux --target_arch=x64 --target_libc=glibc --update-binary
它会将所需的二进制文件下载到您的 node_modules/grpc
目录。
我在我的开发机器上 运行 macOS X,我正在部署到 AWS Lambda;这会同时安装 运行time 版本,这意味着我可以在本地开发和测试,然后部署到 Lambda。