14

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! 
Hendry Lim
  • 1,929
  • 2
  • 21
  • 45

10 Answers10

9

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
Anjan Talatam
  • 2,212
  • 1
  • 12
  • 26
5

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.

JDOaktown
  • 4,262
  • 7
  • 37
  • 52
Hendry Lim
  • 1,929
  • 2
  • 21
  • 45
2

Run this; it worked for me:

npm config set legacy-peer-deps true
Jeremy Caney
  • 7,102
  • 69
  • 48
  • 77
1

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

Rick Young
  • 19
  • 1
0

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

Omphemetse
  • 49
  • 5
0

i update my react app and then installed craco 5.05v

0

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.

foloinfo
  • 631
  • 8
  • 19
0

Related issue:

Didn't want to upgrade react-scripts
So tried downgrading craco
It worked fine:

Commands that worked fine are below:

npm uninstall -g craco
npm uninstall -g @craco/craco

npm i -g craco@0.0.3
npm i -g @craco/craco@6.4.3

package.json contents:

"react-scripts": "^4.0.3",
"@craco/craco": "^6.4.3",
"craco": "^0.0.3",

If you are changing package.json then do:

npm i
Manohar Reddy Poreddy
  • 25,399
  • 9
  • 157
  • 140
0

I updated craco-less 1.20.0 with craco 6.4.3 and react-scripts 4.0.3, it worked.

"dependencies": {
    "@craco/craco": "^6.4.3",
    "craco-less": "^1.20.0",
    "react-scripts": "4.0.3",
    ...
  },
Murat Yıldız
  • 11,299
  • 6
  • 63
  • 63
-4
npm install -f

Could help here.

Jeff Schaller
  • 2,352
  • 5
  • 23
  • 38