krishna choudhary
krishna choudhary

Reputation: 139

Error overriding peer dependency - npm install reactstrap

"@popperjs/core": "^2.6.0",
"@testing-/jest-dom": "^5.11.9",
"@testing-/react": "^11.2.3",
"@testing-/user-event": "^12.6.2",
"bootstrap": "^4.6.0",
"react": "^17.0.1",
"react-dom": "^17.0.1",
"react-scripts": "4.0.1",
"react-transition-group": "^4.4.1",

versions of dependencies I have in package.json file.

G:\Projects\React\confusion> npm install --save reactstrap

npm WARN ERESOLVE overriding peer dependency
npm WARN Found: [email protected]
npm WARN node_modules/react
npm WARN peer react@"" from @testing-/[email protected]
npm WARN node_modules/@testing-/react
npm WARN @testing-/react@"^11.2.3" from the root project
npm WARN 3 more (react-dom, the root project, reactstrap)
npm WARN
npm WARN Could not resolve dependency:
npm WARN peer react@"0.14.x || ^15.0.0 || ^16.0.0" from [email protected]
npm WARN node_modules/react-popper
npm WARN react-popper@"^1.3.6" from [email protected]
npm WARN node_modules/reactstrap
npm ERR! code ERESOLVE
npm ERR! ERESOLVE unable to resolve dependency tree
npm ERR! npm ERR! Found: [email protected]
npm ERR! node_modules/react
npm ERR! peer react@"
" from @testing-/[email protected]
npm ERR! node_modules/@testing-/react
npm ERR! @testing-/react@"^11.2.3" from the root project
npm ERR! peer react@"17.0.1" from [email protected]
npm ERR! node_modules/react-dom
npm ERR! peer react-dom@"" from @testing-/[email protected]
npm ERR! node_modules/@testing-/react
npm ERR! @testing-/react@"^11.2.3" from the root project
npm ERR! react-dom@"^17.0.1" from the root project
npm ERR! 1 more (reactstrap)
npm ERR! 2 more (the root project, reactstrap)
npm ERR!
npm ERR! Could not resolve dependency:
npm ERR! peer react@"^0.14.0 || ^15.0.0 || ^16.0.0" from [email protected]
npm ERR! node_modules/react-popper/node_modules/create-react-context
npm ERR! create-react-context@"^0.3.0" from [email protected]
npm ERR! node_modules/react-popper
npm ERR! node_modules/reactstrap
npm ERR! reactstrap@"
" 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.

Upvotes: 12

Views: 111624

Answers (7)

Hamze Zancaani
Hamze Zancaani

Reputation: 29

to install write this command in your terminal

step 1) if you're using npm

npm install your_package_name --legacy-peer-deps

step 2) if you're using yarn

yarn add your_package_name --legacy-peer-deps

Upvotes: 2

udoyhasan
udoyhasan

Reputation: 2106

There is 2 ways to fix this.

Method 1:

You can specify --legacy-peer-deps flag when you install a new package.

# For NPM
npm install package_name --legacy-peer-deps

#For Yarn
yarn add package_name --legacy-peer-deps

Method 2:

If you dont want to specify the --legacy-peer-deps flag everytime when you install a new package for the project.

You can simply create a file at the root directory of your project. The file name will be .npmrc (For NPM) or .yarnrc (For Yarn). Update the file with this:

For .npmrc:

legacy-peer-deps=true

For .yarnrc:

npmClientArgs: "--legacy-peer-deps"

Hope it helps you :)

Upvotes: 11

Zain Raza
Zain Raza

Reputation: 1

To install any dependency forcefully run the below command: npm i --force this command install the package forcefully without giving any error.

Upvotes: 0

Youssef Abdelmonsef
Youssef Abdelmonsef

Reputation: 107

Delete node modules, then npm i reactstrap --legacy-peer-deps then npm install --force solved it for me

Upvotes: 0

MoOx
MoOx

Reputation: 8991

Try something like this in your package.json

  "engines": {
    "npm": ">=8.7.0"
  },
  "overrides": {
    "react": "$react"
  }

This will force react to be the version defined in your "dependencies" for all dependencies (& deps of deps). You need "recent" npm as it was buggy in some version (I had 8.3.0 and overrides wasn't working). 8.7.0 seems ok !

See https://docs.npmjs.com/cli/v8/configuring-npm/package-json#overrides

Upvotes: 15

yvan
yvan

Reputation: 7

To resolve REACT_SPRING installation issue try

npm install  --force

then

npm audit fix --force

Upvotes: -7

Zac Anger
Zac Anger

Reputation: 7787

This is because of a change in npm version 7. See the breaking changes section here. You can fix it by using the flag the error tells you to use at the bottom: npm i reactstrap --legacy-peer-deps. If one of your other dependencies already has reactstrap as a peer dependency, you might not need to install it at all (you can check with npm ls reactstrap), due to the change in v7.

Upvotes: 24

Related Questions