I'm a NODE novice and trying to install and run https://github.com/DylanAkp/AirtagsAnywhere
I'm on a brand new M2 Mac with Python 3.12
Node 18.18 and NPM 9.8.1
And get a long stream. I understand the warnings but can't follow the errors.
Can anyone point me in the right direction?
npm ERR! code 1 npm ERR! path /Users/airtag/Desktop/AirtagsAnywhere/front_airtags/node_modules/node-sass npm ERR! command failed npm ERR! command sh -c node scripts/build.js npm ERR! Building: /usr/local/bin/node /Users/airtag/Desktop/AirtagsAnywhere/front_airtags/node_modules/node-gyp/bin/node-gyp.js rebuild --verbose --libsass_ext= --libsass_cflags= --libsass_ldflags= --libsass_library= npm ERR! gyp info it worked if it ends with ok npm ERR! gyp verb cli [ npm ERR! gyp verb cli '/usr/local/bin/node', npm ERR! gyp verb cli '/Users/airtag/Desktop/AirtagsAnywhere/front_airtags/node_modules/node-gyp/bin/node-gyp.js', npm ERR! gyp verb cli 'rebuild', npm ERR! gyp verb cli '--verbose', npm ERR! gyp verb cli '--libsass_ext=', npm ERR! gyp verb cli '--libsass_cflags=', npm ERR! gyp verb cli '--libsass_ldflags=', npm ERR! gyp verb cli '--libsass_library=' npm ERR! gyp verb cli ] npm ERR! gyp info using [email protected] npm ERR! gyp info using [email protected] | darwin | arm64 npm ERR! gyp verb command rebuild [] npm ERR! gyp verb command clean [] npm ERR! gyp verb clean removing "build" directory npm ERR! gyp verb command configure [] npm ERR! gyp verb find Python Python is not set from command line or npm configuration npm ERR! gyp verb find Python Python is not set from environment variable PYTHON npm ERR! gyp verb find Python checking if "python3" can be used npm ERR! gyp verb find Python - executing "python3" to get executable path npm ERR! gyp verb find Python - executable path is "/Library/Frameworks/Python.framework/Versions/3.12/bin/python3" npm ERR! gyp verb find Python - executing "/Library/Frameworks/Python.framework/Versions/3.12/bin/python3" to get version npm ERR! gyp verb find Python - version is "3.12.0" npm ERR! gyp info find Python using Python version 3.12.0 found at "/Library/Frameworks/Python.framework/Versions/3.12/bin/python3" npm ERR! gyp verb get node dir no --target version specified, falling back to host node version: 18.18.0 npm ERR! gyp verb command install [ '18.18.0' ] npm ERR! gyp verb install input version string "18.18.0" npm ERR! gyp verb install installing version: 18.18.0 npm ERR! gyp verb install --ensure was passed, so won't reinstall if already installed npm ERR! gyp verb install version is already installed, need to check "installVersion" npm ERR! gyp verb got "installVersion" 9 npm ERR! gyp verb needs "installVersion" 9 npm ERR! gyp verb install version is good npm ERR! gyp verb get node dir target node version installed: 18.18.0 npm ERR! gyp verb build dir attempting to create "build" dir: /Users/airtag/Desktop/AirtagsAnywhere/front_airtags/node_modules/node-sass/build npm ERR! gyp verb build dir "build" dir needed to be created? Yes npm ERR! gyp verb build/config.gypi creating config file npm ERR! gyp verb build/config.gypi writing out config file: /Users/airtag/Desktop/AirtagsAnywhere/front_airtags/node_modules/node-sass/build/config.gypi npm ERR! gyp verb config.gypi checking for gypi file: /Users/airtag/Desktop/AirtagsAnywhere/front_airtags/node_modules/node-sass/config.gypi npm ERR! gyp verb common.gypi checking for gypi file: /Users/airtag/Desktop/AirtagsAnywhere/front_airtags/node_modules/node-sass/common.gypi npm ERR! gyp verb gyp gyp format was not specified; forcing "make" npm ERR! gyp info spawn /Library/Frameworks/Python.framework/Versions/3.12/bin/python3 npm ERR! gyp info spawn args [ npm ERR! gyp info spawn args '/Users/airtag/Desktop/AirtagsAnywhere/front_airtags/node_modules/node-gyp/gyp/gyp_main.py', npm ERR! gyp info spawn args 'binding.gyp', npm ERR! gyp info spawn args '-f', npm ERR! gyp info spawn args 'make', npm ERR! gyp info spawn args '-I', npm ERR! gyp info spawn args '/Users/airtag/Desktop/AirtagsAnywhere/front_airtags/node_modules/node-sass/build/config.gypi', npm ERR! gyp info spawn args '-I', npm ERR! gyp info spawn args '/Users/airtag/Desktop/AirtagsAnywhere/front_airtags/node_modules/node-gyp/addon.gypi', npm ERR! gyp info spawn args '-I', npm ERR! gyp info spawn args '/Users/airtag/Library/Caches/node-gyp/18.18.0/include/node/common.gypi', npm ERR! gyp info spawn args '-Dlibrary=shared_library', npm ERR! gyp info spawn args '-Dvisibility=default', npm ERR! gyp info spawn args '-Dnode_root_dir=/Users/airtag/Library/Caches/node-gyp/18.18.0', npm ERR! gyp info spawn args '-Dnode_gyp_dir=/Users/airtag/Desktop/AirtagsAnywhere/front_airtags/node_modules/node-gyp', npm ERR! gyp info spawn args '-Dnode_lib_file=/Users/airtag/Library/Caches/node-gyp/18.18.0/<(target_arch)/node.lib', npm ERR! gyp info spawn args '-Dmodule_root_dir=/Users/airtag/Desktop/AirtagsAnywhere/front_airtags/node_modules/node-sass', npm ERR! gyp info spawn args '-Dnode_engine=v8', npm ERR! gyp info spawn args '--depth=.', npm ERR! gyp info spawn args '--no-parallel', npm ERR! gyp info spawn args '--generator-output', npm ERR! gyp info spawn args 'build', npm ERR! gyp info spawn args '-Goutput_dir=.' npm ERR! gyp info spawn args ] npm ERR! Traceback (most recent call last): npm ERR! File "/Users/airtag/Desktop/AirtagsAnywhere/front_airtags/node_modules/node-gyp/gyp/gyp_main.py", line 42, in <module> npm ERR! import gyp # noqa: E402 npm ERR! ^^^^^^^^^^ npm ERR! File "/Users/airtag/Desktop/AirtagsAnywhere/front_airtags/node_modules/node-gyp/gyp/pylib/gyp/__init__.py", line 9, in <module> npm ERR! import gyp.input npm ERR! File "/Users/airtag/Desktop/AirtagsAnywhere/front_airtags/node_modules/node-gyp/gyp/pylib/gyp/input.py", line 19, in <module> npm ERR! from distutils.version import StrictVersion npm ERR! ModuleNotFoundError: No module named 'distutils' npm ERR! gyp ERR! configure error npm ERR! gyp ERR! stack Error: `gyp` failed with exit code: 1 npm ERR! gyp ERR! stack at ChildProcess.onCpExit (/Users/airtag/Desktop/AirtagsAnywhere/front_airtags/node_modules/node-gyp/lib/configure.js:259:16) npm ERR! gyp ERR! stack at ChildProcess.emit (node:events:517:28) npm ERR! gyp ERR! stack at ChildProcess._handle.onexit (node:internal/child_process:292:12) npm ERR! gyp ERR! System Darwin 23.0.0 npm ERR! gyp ERR! command "/usr/local/bin/node" "/Users/airtag/Desktop/AirtagsAnywhere/front_airtags/node_modules/node-gyp/bin/node-gyp.js" "rebuild" "--verbose" "--libsass_ext=" "--libsass_cflags=" "--libsass_ldflags=" "--libsass_library=" npm ERR! gyp ERR! cwd /Users/airtag/Desktop/AirtagsAnywhere/front_airtags/node_modules/node-sass npm ERR! gyp ERR! node -v v18.18.0 npm ERR! gyp ERR! node-gyp -v v8.4.1 npm ERR! gyp ERR! not ok npm ERR! Build failed with error code: 1 npm ERR! A complete log of this run can be found in: /Users/airtag/.npm/_logs/2023-10-07T19_25_34_725Z-debug-0.log