Craco - Could not resolve dependency error

Viewed 11265

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: exchange@0.1.0
npm ERR! Found: react-scripts@3.4.3
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/craco@6.1.1
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! 
8 Answers

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

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.

Run this; it worked for me:

npm config set legacy-peer-deps true

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

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

You have react-scripts@3.4.3 but @craco/craco requires react-scripts@4.0.0.

Simply run npm i react-scripts@4.0.0 and create craco.config.js file

i update my react app and then installed craco 5.05v

In my case using node v16.15.1 raising this error.
I resolved it by using node v16.13.1 with fixing the version in package.json

  "engines": {
    "node": "16.13.1"
  },

You can also resolve by using yarn not npm.

Related