'Craco - Could not resolve dependency error

I am trying to setup TailwindCSS in my Create-React-App project and I am trying to install craco so that I need not eject my CRA

When I run the following command npm install @craco/craco, I get unable to resolve dependency tree error. Below is the detail of the error. What should I do? Thanks

npm install @craco/craco
npm ERR! code ERESOLVE
npm ERR! ERESOLVE unable to resolve dependency tree
npm ERR! 
npm ERR! While resolving: [email protected]
npm ERR! Found: [email protected]
npm ERR! node_modules/react-scripts
npm ERR!   react-scripts@"3.4.3" from the root project
npm ERR! 
npm ERR! Could not resolve dependency:
npm ERR! peer react-scripts@"^4.0.0" from @craco/[email protected]
npm ERR! node_modules/@craco/craco
npm ERR!   @craco/craco@"*" from the root project
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.
npm ERR! 


Solution 1:[1]

I've updated my package react-scripts to the latest version 4.x. by running this command :

npm i react-scripts@latest

then lo and behold, I was able to install craco successfully.

Solution 2:[2]

This works for me

npm install @craco/craco --save --legacy-peer-deps

With the below line you can also set --legacy-peer-deps permanently as a config option. Try to avoid this as you need to see which npm library/libraries in your project is/are having dependency issues.

npm config set legacy-peer-deps true

Solution 3:[3]

Use yarn add, it would solve this for you, you don't need to do anything for the react-scripts version.

Solution 4:[4]

I think the error has to do with the dependency tree.

You have [email protected] but @craco/craco requires [email protected].

Simply run npm i [email protected] and create craco.config.js file

Solution 5:[5]

Run this; it worked for me:

npm config set legacy-peer-deps true

Solution 6:[6]

i update my react app and then installed craco 5.05v

Solution 7:[7]

npm install -f

Could help here.

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 JDOaktown
Solution 2 Anjan Talatam
Solution 3 Rick Young
Solution 4 Omphemetse
Solution 5 Jeremy Caney
Solution 6 Joseph chijioke
Solution 7 Jeff Schaller