如何修复 npm install node-pre-gyp ERR 错误

How to fix the npm install node-pre-gyp ERR error

当我 运行 yarn install 出现以下错误时,我删除了 node_modules 和 yarn.lock 文件并再次尝试但没有成功,似乎是使用 gRPC 查看错误消息。

不确定该怎么做...有什么建议吗?

> grpc@1.10.1 install /Users/mynamegoeshere/Desktop/Projects2/mydemoapp2/mydemoapp/node_modules/@firebase/firestore/node_modules/grpc
> node-pre-gyp install --fallback-to-build --library=static_library

node-pre-gyp ERR! Tried to download(403): https://storage.googleapis.com/grpc-precompiled-binaries/node/grpc/v1.10.1/node-v64-darwin-x64-unknown.tar.gz 
node-pre-gyp ERR! Pre-built binaries not found for grpc@1.10.1 and node@10.16.3 (node-v64 ABI, unknown) (falling back to source compile with node-gyp) 
node-pre-gyp ERR! Pre-built binaries not installable for grpc@1.10.1 and node@10.16.3 (node-v64 ABI, unknown) (falling back to source compile with node-gyp) 
node-pre-gyp ERR! Hit error Connection closed while downloading tarball file 
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/surface/init.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/surface/init.o
rm: ./Release/.deps/Release/obj.target/grpc/deps/grpc/src/core/lib/surface/init.o.d.raw: No such file or directory
make: *** [Release/obj.target/grpc/deps/grpc/src/core/lib/surface/init.o] Error 1
gyp ERR! build error 
gyp ERR! stack Error: `make` failed with exit code: 2
npm ERR! Failed at the grpc@1.10.1 install script.

那个版本的 grpc 库是旧的,与那个版本的 Node 不兼容。您应该使用较新版本的 grpc 或较旧版本的 Node。 grpc 的最新版本目前是 1.24.2。

我有同样的错误,有点不同的版本。 Ubuntu 20.04。一个项目需要 Node 10.x,它不会 yarn installyarn.lock 有 2 个版本的 grpc 作为依赖项,一个 grpc v1.14.1 of pkgcloud。但它在 grpc v1.9.1 上出错,google-gax 的依赖项。这让我安装和构建:

  • 打开yarn.lock
  • 删除一行错误版本的grpc依赖,保存。例如
...
google-gax@^0.15.0:
  version "0.15.0"
  ...
  grpc "~1.9.1" <--- deleted this
  ...
  • 运行 yarn install --ignore-engines(我不得不使用 --ignore-engines

这更新了 yarn.lock 中的一些依赖项并删除了 grpc@~1.9.1 部分以及安装和构建的项目。