5

I am trying to install this app locally on my m1 MacBook air > Github - Todoist Clone

Running npm install in the terminal is causing the following error, please see log below

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

I tried following steps from posts with similar pre-gyp-err issues but none worked

If anyone is able to resolve it, please advise the steps I need to follow

Vim Rossi
  • 51
  • 1
  • 2
  • 1
    Did you ever manage to resolve this? I am having the same issue on an M1 MacBook Pro. Same Node, node-gyp and node-pre-gyp versions, and the devDependency answer below doesn't fix it for me. – James Hooper Apr 20 '22 at 11:22
  • @JamesHooper did you solve it? – Bilal Saeed Jul 21 '22 at 12:16
  • Hi Bilal, I did. I managed to get the repo working, as well as my own project. I've posted an answer below, along with a fork of the repo that you can clone and run without issue :) – James Hooper Jul 21 '22 at 15:30
  • It's because of the angular version not supporting the firebase. Hence update the firebase which probably might be on v5. Do update it to v7 or v8. – Wardhan Aug 22 '22 at 15:51

1 Answers1

5

This was bothering me a lot in my own project, but I think I've figured it out. It seems that it is actually an obscure problem that is created by the firebase and node-sass versions you're using.

Firebase versions below 7 depend on grpc which has been deprecated in favour of @grpc/grpc-js. This can be fixed by upgrading to version 7 or higher.

Similarly, the node-sass package has been deprecated. The NPM package says to use dart-sass, but in the project you linked, it was simple to run the single .scss file through a compiler and change it to basic CSS.

Here's a fork of the project with the dependencies fixed. I removed the firebase package (I left the firebase code still in there but commented it out for reference / re-adding) and node-sass was also removed. It should now be possible to simply clone the repo and run npm i to install (tested with node 16), and it should load in the browser too. The only thing left to do is to reimplement the firebase code so that it works with version 7 (previously it used 5).

James Hooper
  • 1,475
  • 13
  • 24