无法解决npm install pre-gyp错误。

5

我正在尝试在我的M1 MacBook Air上本地安装这个应用程序 > Github - Todoist Clone

在终端中运行npm install时,会导致以下错误,请查看下面的日志

10630 verbose node v16.13.2
10631 verbose npm  v8.1.2
10632 error code 1
10633 error path /Users/Username/Desktop/todoist-clone-master/node_modules/grpc
10634 error command failed
10635 error command sh -c node-pre-gyp install --fallback-to-build --library=static_library
10636 error CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/surface/init.o
10636 error   CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/avl/avl.o
10636 error   CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/backoff/backoff.o
10636 error   CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/channel/channel_args.o
10636 error   CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/channel/channel_stack.o
10636 error   CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/channel/channel_stack_builder.o
10636 error   CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/channel/channel_trace.o
10636 error   CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/channel/channelz.o
10636 error   CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/channel/channelz_registry.o
10636 error   CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/channel/connected_channel.o
10636 error   CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/channel/handshaker.o
10636 error   CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/channel/handshaker_registry.o
10636 error   CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/channel/status_util.o
10636 error   CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/compression/compression.o
10636 error   CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/compression/compression_args.o
10636 error   CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/compression/compression_internal.o
10636 error   CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/compression/message_compress.o
10636 error   CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/compression/stream_compression.o
10636 error   CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/compression/stream_compression_gzip.o
10636 error   CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/compression/stream_compression_identity.o
10636 error   CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/debug/stats.o
10636 error   CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/debug/stats_data.o
10636 error Failed to execute '/Users/Username/.nvm/versions/node/v16.13.2/bin/node /Users/Username/.nvm/versions/node/v16.13.2/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js build --fallback-to-build --library=static_library --module=/Users/Username/Desktop/todoist-clone-master/node_modules/grpc/src/node/extension_binary/node-v93-darwin-arm64-unknown/grpc_node.node --module_name=grpc_node --module_path=/Users/Username/Desktop/todoist-clone-master/node_modules/grpc/src/node/extension_binary/node-v93-darwin-arm64-unknown --napi_version=8 --node_abi_napi=napi --napi_build_version=0 --node_napi_label=node-v93' (1)
10637 error node-pre-gyp info it worked if it ends with ok
10637 error node-pre-gyp info using node-pre-gyp@0.13.0
10637 error node-pre-gyp info using node@16.13.2 | darwin | arm64
10637 error node-pre-gyp WARN Using request for node-pre-gyp https download
10637 error node-pre-gyp info check checked for "/Users/Username/Desktop/todoist-clone-master/node_modules/grpc/src/node/extension_binary/node-v93-darwin-arm64-unknown/grpc_node.node" (not found)
10637 error node-pre-gyp http GET https://node-precompiled-binaries.grpc.io/grpc/v1.23.3/node-v93-darwin-arm64-unknown.tar.gz
10637 error node-pre-gyp http 404 https://node-precompiled-binaries.grpc.io/grpc/v1.23.3/node-v93-darwin-arm64-unknown.tar.gz
10637 error node-pre-gyp WARN Tried to download(404): https://node-precompiled-binaries.grpc.io/grpc/v1.23.3/node-v93-darwin-arm64-unknown.tar.gz
10637 error node-pre-gyp WARN Pre-built binaries not found for grpc@1.23.3 and node@16.13.2 (node-v93 ABI, unknown) (falling back to source compile with node-gyp)
10637 error node-pre-gyp http 404 status code downloading tarball https://node-precompiled-binaries.grpc.io/grpc/v1.23.3/node-v93-darwin-arm64-unknown.tar.gz
10637 error gyp info it worked if it ends with ok
10637 error gyp info using node-gyp@8.3.0
10637 error gyp info using node@16.13.2 | darwin | arm64
10637 error gyp info ok
10637 error gyp info it worked if it ends with ok
10637 error gyp info using node-gyp@8.3.0
10637 error gyp info using node@16.13.2 | darwin | arm64
10637 error gyp info find Python using Python version 3.8.9 found at "/Library/Developer/CommandLineTools/usr/bin/python3"
10637 error gyp info spawn /Library/Developer/CommandLineTools/usr/bin/python3
10637 error gyp info spawn args [
10637 error gyp info spawn args   '/Users/Username/.nvm/versions/node/v16.13.2/lib/node_modules/npm/node_modules/node-gyp/gyp/gyp_main.py',
10637 error gyp info spawn args   'binding.gyp',
10637 error gyp info spawn args   '-f',
10637 error gyp info spawn args   'make',
10637 error gyp info spawn args   '-I',
10637 error gyp info spawn args   '/Users/Username/Desktop/todoist-clone-master/node_modules/grpc/build/config.gypi',
10637 error gyp info spawn args   '-I',
10637 error gyp info spawn args   '/Users/Username/.nvm/versions/node/v16.13.2/lib/node_modules/npm/node_modules/node-gyp/addon.gypi',
10637 error gyp info spawn args   '-I',
10637 error gyp info spawn args   '/Users/Username/Library/Caches/node-gyp/16.13.2/include/node/common.gypi',
10637 error gyp info spawn args   '-Dlibrary=shared_library',
10637 error gyp info spawn args   '-Dvisibility=default',
10637 error gyp info spawn args   '-Dnode_root_dir=/Users/Username/Library/Caches/node-gyp/16.13.2',
10637 error gyp info spawn args   '-Dnode_gyp_dir=/Users/Username/.nvm/versions/node/v16.13.2/lib/node_modules/npm/node_modules/node-gyp',
10637 error gyp info spawn args   '-Dnode_lib_file=/Users/Username/Library/Caches/node-gyp/16.13.2/<(target_arch)/node.lib',
10637 error gyp info spawn args   '-Dmodule_root_dir=/Users/Username/Desktop/todoist-clone-master/node_modules/grpc',
10637 error gyp info spawn args   '-Dnode_engine=v8',
10637 error gyp info spawn args   '--depth=.',
10637 error gyp info spawn args   '--no-parallel',
10637 error gyp info spawn args   '--generator-output',
10637 error gyp info spawn args   'build',
10637 error gyp info spawn args   '-Goutput_dir=.'
10637 error gyp info spawn args ]
10637 error gyp info ok
10637 error gyp info it worked if it ends with ok
10637 error gyp info using node-gyp@8.3.0
10637 error gyp info using node@16.13.2 | darwin | arm64
10637 error gyp info spawn make
10637 error gyp info spawn args [ 'BUILDTYPE=Release', '-C', 'build' ]
10637 error ../deps/grpc/src/core/lib/debug/stats_data.cc:284:5: error: suspicious concatenation of string literals in an array initialization; did you mean to separate the elements with a comma? [-Werror,-Wstring-concatenation]
10637 error     "requested the incoming call",
10637 error     ^
10637 error ../deps/grpc/src/core/lib/debug/stats_data.cc:283:5: note: place parentheses around the string literal to silence warning
10637 error     "How many completion queues were checked looking for a CQ that had "
10637 error     ^
10637 error 1 error generated.
10637 error make: *** [Release/obj.target/grpc/deps/grpc/src/core/lib/debug/stats_data.o] Error 1
10637 error gyp ERR! build error
10637 error gyp ERR! stack Error: `make` failed with exit code: 2
10637 error gyp ERR! stack     at ChildProcess.onExit (/Users/Username/.nvm/versions/node/v16.13.2/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:194:23)
10637 error gyp ERR! stack     at ChildProcess.emit (node:events:390:28)
10637 error gyp ERR! stack     at Process.ChildProcess._handle.onexit (node:internal/child_process:290:12)
10637 error gyp ERR! System Darwin 21.2.0
10637 error gyp ERR! command "/Users/Username/.nvm/versions/node/v16.13.2/bin/node" "/Users/Username/.nvm/versions/node/v16.13.2/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "build" "--fallback-to-build" "--library=static_library" "--module=/Users/Username/Desktop/todoist-clone-master/node_modules/grpc/src/node/extension_binary/node-v93-darwin-arm64-unknown/grpc_node.node" "--module_name=grpc_node" "--module_path=/Users/Username/Desktop/todoist-clone-master/node_modules/grpc/src/node/extension_binary/node-v93-darwin-arm64-unknown" "--napi_version=8" "--node_abi_napi=napi" "--napi_build_version=0" "--node_napi_label=node-v93"
10637 error gyp ERR! cwd /Users/Username/Desktop/todoist-clone-master/node_modules/grpc
10637 error gyp ERR! node -v v16.13.2
10637 error gyp ERR! node-gyp -v v8.3.0
10637 error gyp ERR! not ok
10637 error node-pre-gyp ERR! build error
10637 error node-pre-gyp ERR! stack Error: Failed to execute '/Users/Username/.nvm/versions/node/v16.13.2/bin/node /Users/Username/.nvm/versions/node/v16.13.2/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js build --fallback-to-build --library=static_library --module=/Users/Username/Desktop/todoist-clone-master/node_modules/grpc/src/node/extension_binary/node-v93-darwin-arm64-unknown/grpc_node.node --module_name=grpc_node --module_path=/Users/Username/Desktop/todoist-clone-master/node_modules/grpc/src/node/extension_binary/node-v93-darwin-arm64-unknown --napi_version=8 --node_abi_napi=napi --napi_build_version=0 --node_napi_label=node-v93' (1)
10637 error node-pre-gyp ERR! stack     at ChildProcess.<anonymous> (/Users/Username/Desktop/todoist-clone-master/node_modules/grpc/node_modules/node-pre-gyp/lib/util/compile.js:83:29)
10637 error node-pre-gyp ERR! stack     at ChildProcess.emit (node:events:390:28)
10637 error node-pre-gyp ERR! stack     at maybeClose (node:internal/child_process:1064:16)
10637 error node-pre-gyp ERR! stack     at Process.ChildProcess._handle.onexit (node:internal/child_process:301:5)
10637 error node-pre-gyp ERR! System Darwin 21.2.0
10637 error node-pre-gyp ERR! command "/Users/Username/.nvm/versions/node/v16.13.2/bin/node" "/Users/Username/Desktop/todoist-clone-master/node_modules/grpc/node_modules/.bin/node-pre-gyp" "install" "--fallback-to-build" "--library=static_library"
10637 error node-pre-gyp ERR! cwd /Users/Username/Desktop/todoist-clone-master/node_modules/grpc
10637 error node-pre-gyp ERR! node -v v16.13.2
10637 error node-pre-gyp ERR! node-pre-gyp -v v0.13.0
10637 error node-pre-gyp ERR! not ok
10638 verbose exit 1

我尝试按照类似 pre-gyp-err 问题的帖子中的步骤进行操作,但没有一个奏效。

如果有人能够解决此问题,请指导我需要执行哪些步骤。


1
你曾经解决过这个问题吗?我在M1 MacBook Pro上遇到了相同的问题。Node、node-gyp和node-pre-gyp版本都一样,下面的devDependency答案对我没有用。 - James Hooper
@JamesHooper 你解决了吗? - Bilal Saeed
嗨Bilal,我做到了。我成功让repo工作,并且也让我的项目运行起来了。我在下面发布了一个答案,以及一个你可以克隆并无问题运行的repo分支 :) - James Hooper
这是因为 Angular 版本不支持 Firebase。因此,请更新 Firebase,可能会在 v5 上。请将其更新到 v7 或 v8。 - Wardhan
1个回答

5

这个问题困扰了我很久,但我想我已经找到解决办法了。似乎这实际上是由你正在使用的firebasenode-sass版本引起的一个晦涩的问题。

Firebase 7以下版本依赖于grpc,而grpc已被弃用,改为使用@ grpc / grpc-js。这可以通过升级到7或更高版本来解决。

同样,node-sass已被弃用。 NPM包建议使用dart-sass,但在您链接的项目中,只需将单个.scss文件通过编译器运行并将其更改为基本CSS即可。

这是一个已经修复依赖项的项目分支。 我移除了firebase包(留下firebase代码以供参考/重新添加,但已注释掉),同时也移除了node-sass。现在可以简单地克隆该库并运行npm i进行安装(使用node 16测试),并且可以在浏览器中加载。唯一剩下的就是重新实现firebase代码以使其适用于版本7(之前使用的是5)。


谢谢你,厉害的伙计!我遇到了一些麻烦,因为我没有使用 Firebase 库。 - Fatih SARI

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接