CreateThrive / react-firebase-admin

React ⚛️ starter kit with Firebase 🔥 and Bulma for setting up an admin dashboard - Highly scalable, PWA, Serverless

Home Page:https://docs.react-firebase.com

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

"Unable to resolve dependency tree" while installing dependencies

Vixxd opened this issue · comments

commented

Describe the bug
Project does not work as expected out of the box when running npm install - issues with React version dependencies occur:

PS J:\xxx> npm install
npm ERR! code ERESOLVE
npm ERR! ERESOLVE unable to resolve dependency tree
npm ERR!
npm ERR! While resolving: react-firebase-admin@0.1.0
npm ERR! Found: react@17.0.2
npm ERR! node_modules/react
npm ERR!   react@"^17.0.1" from the root project
npm ERR!
npm ERR! Could not resolve dependency:
npm ERR! peer react@">=15 <17" from react-firebaseui@4.2.0
npm ERR! node_modules/react-firebaseui
npm ERR!
npm ERR! Fix the upstream dependency conflict, or retry
npm ERR! this command with --force, or --legacy-peer-deps
npm ERR! to accept an incorrect (and potentially broken) dependency resolution.

Then, when trying to re-run with npm install --legacy-peer-deps, there are further issues with node-gyp (msbuild tools and python versions) which have led me down quite the rabbithole:

npm ERR! gyp verb check python checking for Python executable "C:/Python2.7/python.exe" in the PATH
npm ERR! gyp verb `which` failed Error: not found: C:/Python2.7/python.exe

Python2.7 is installed at that location and is in my path, including under NODE_GYP_FORCE_PYTHON:
image

Which I know works, as I have been following the instructions here (https://stackoverflow.com/a/60471089) for remedying this node-gyp issue, and upon running node-gyp configure as part of this test I am told to upgrade from Python2.7 - so I am unsure why when running npm install --legacy-peer-deps with this project that Python 2.7 cannot be found.

S J:\xxx\hello_module>  node-gyp configure   
gyp info it worked if it ends with ok
gyp info using node-gyp@8.4.1
gyp info using node@16.13.0 | win32 | x64
gyp ERR! find Python 
gyp ERR! find Python checking Python explicitly set from NODE_GYP_FORCE_PYTHON
gyp ERR! find Python - process.env.NODE_GYP_FORCE_PYTHON is "C:\Python27\python.exe"
gyp ERR! find Python - executable path is "C:\Python27\python.exe"
gyp ERR! find Python - version is "2.7.18"
gyp ERR! find Python - version is 2.7.18 - should be >=3.6.0
gyp ERR! find Python - THIS VERSION OF PYTHON IS NOT SUPPORTED

Any help would be appreciated.

To Reproduce
Steps to reproduce the behavior:

  1. Clone the repo
  2. Follow the documentation steps for 'Installing Dependencies' https://docs.react-firebase.com/getting-started#installing-dependencies
  3. Run npm install
  4. See error

Expected behavior
The dependencies install as expected.

Screenshots
image

Desktop (please complete the following information):

  • OS: Windows 10
commented

Python issue appears to be fixed after a computer restart, it would appear that node-sass is the real culprit:

npm ERR! code 1
npm ERR! path J:\proj\node_modules\node-sass
npm ERR! command failed
npm ERR! command C:\Windows\system32\cmd.exe /d /s /c node scripts/build.js
npm ERR! Building: C:\Program Files\nodejs\node.exe J:\proj\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   'C:\\Program Files\\nodejs\\node.exe',
npm ERR! gyp verb cli   'J:\\proj\\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 node-gyp@3.8.0
npm ERR! gyp info using node@16.13.0 | win32 | x64
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 check python checking for Python executable "c:\python27\python.exe" in the PATH
npm ERR! gyp verb `which` succeeded c:\python27\python.exe c:\python27\python.exe
npm ERR! gyp verb check python version `c:\python27\python.exe -c "import sys; print "2.7.18
npm ERR! gyp verb check python version .%s.%s" % sys.version_info[:3];"` returned: %j
npm ERR! gyp verb get node dir no --target version specified, falling back to host node version: 16.13.0
npm ERR! gyp verb command install [ '16.13.0' ]
npm ERR! gyp verb install input version string "16.13.0"
npm ERR! gyp verb install installing version: 16.13.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: 16.13.0
npm ERR! gyp verb build dir attempting to create "build" dir: J:\proj\node_modules\node-sass\build
npm ERR! gyp verb build dir "build" dir needed to be created? J:\proj\node_modules\node-sass\build
npm ERR! gyp verb build/config.gypi creating config file
npm ERR! gyp verb build/config.gypi writing out config file: J:\proj\node_modules\node-sass\build\config.gypi
npm ERR! (node:12680) [DEP0150] DeprecationWarning: Setting process.config is deprecated. In the future the property will be read-only.
npm ERR! (Use `node --trace-deprecation ...` to show where the warning was created)
npm ERR! gyp verb config.gypi checking for gypi file: J:\proj\node_modules\node-sass\config.gypi
npm ERR! gyp verb common.gypi checking for gypi file: J:\proj\node_modules\node-sass\common.gypi
npm ERR! gyp verb gyp gyp format was not specified; forcing "msvs"
npm ERR! gyp info spawn c:\python27\python.exe
npm ERR! gyp info spawn args [
npm ERR! gyp info spawn args   'J:\\proj\\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   'msvs',
npm ERR! gyp info spawn args   '-G',
npm ERR! gyp info spawn args   'msvs_version=2019',
npm ERR! gyp info spawn args   '-I',
npm ERR! gyp info spawn args   'J:\\proj\\node_modules\\node-sass\\build\\config.gypi',
npm ERR! gyp info spawn args   '-I',
npm ERR! gyp info spawn args   'J:\\proj\\node_modules\\node-gyp\\addon.gypi',
npm ERR! gyp info spawn args   '-I',
npm ERR! gyp info spawn args   'C:\\Users\\name\\.node-gyp\\16.13.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=C:\\Users\\name\\.node-gyp\\16.13.0',
npm ERR! gyp info spawn args   '-Dnode_gyp_dir=J:\\proj\\node_modules\\node-gyp',
npm ERR! gyp info spawn args   '-Dnode_lib_file=C:\\Users\\name\\.node-gyp\\16.13.0\\<(target_arch)\\node.lib',
npm ERR! gyp info spawn args   '-Dmodule_root_dir=J:\\proj\\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   'J:\\proj\\node_modules\\node-sass\\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 "J:\proj\node_modules\node-gyp\gyp\gyp_main.py", line 16, in <module>
npm ERR!     sys.exit(gyp.script_main())
npm ERR!   File "J:\proj\node_modules\node-gyp\gyp\pylib\gyp\__init__.py", line 545, in script_main
npm ERR!   File "J:\proj\node_modules\node-gyp\gyp\pylib\gyp\__init__.py", line 538, in main
npm ERR!     return gyp_main(args)
npm ERR!   File "J:\proj\node_modules\node-gyp\gyp\pylib\gyp\__init__.py", line 514, in gyp_main
npm ERR!     options.duplicate_basename_check)
npm ERR!   File "J:\proj\node_modules\node-gyp\gyp\pylib\gyp\__init__.py", line 98, in Load
npm ERR!     generator.CalculateVariables(default_variables, params)
npm ERR!   File "J:\proj\node_modules\node-gyp\gyp\pylib\gyp\generator\msvs.py", line 1916, in CalculateVariables
npm ERR!     generator_flags.get('msvs_version', 'auto'))
npm ERR!     versions = _DetectVisualStudioVersions(version_map[version], 'e' in version)
npm ERR! KeyError: '2019'
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 (J:\proj\node_modules\node-gyp\lib\configure.js:345:16)
npm ERR! gyp ERR! stack     at ChildProcess.emit (node:events:390:28)
npm ERR! gyp ERR! stack     at Process.ChildProcess._handle.onexit (node:internal/child_process:290:12)
npm ERR! gyp ERR! System Windows_NT 10.0.19043
npm ERR! gyp ERR! command "C:\\Program Files\\nodejs\\node.exe" "J:\\proj\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild" "--verbose" "--libsass_ext=" "--libsass_cflags=" 
"--libsass_ldflags=" "--libsass_library="
npm ERR! gyp ERR! cwd J:\proj\node_modules\node-sass
npm ERR! gyp ERR! node -v v16.13.0
npm ERR! gyp ERR! node-gyp -v v3.8.0
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:
npm ERR!     C:\Users\name\AppData\Local\npm-cache\_logs\2022-02-10T14_04_42_112Z-debug-0.log

I have tried

  • globally installing node-sass
  • forcing my node version to 16.0.0 in packages.json (saw a comment saying this is the last time it worked, however the version is still set to 16.3.0 according to that output)

I solved by following the instructions here than I ran this command npm install --legacy-peer-deps