Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

"Unable to resolve dependency tree" while installing dependencies #547

Open
Vixxd opened this issue Feb 10, 2022 · 2 comments
Open

"Unable to resolve dependency tree" while installing dependencies #547

Vixxd opened this issue Feb 10, 2022 · 2 comments

Comments

@Vixxd
Copy link

Vixxd commented Feb 10, 2022

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
@Vixxd
Copy link
Author

Vixxd commented Feb 10, 2022

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)
@urbanintell
Copy link

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
2 participants