My situation is this :
I had a working copy of a react-native project that was working well. Had it commited to my git repository.
I decided to upgrade react-native to 0.26.3 and then 0.28 and finally ended up in a big dependency mess with collisions. So decided to go back to previous working version. Reverted the changes. Removed node_modules folder from my working directory.
But now npm install
just won't work.
My working dependencies in package.json
"dependencies": {
"immutable": "^3.8.1",
"key-mirror": "^1.0.1",
"react": "^15.0.2",
"react-native": "^0.26.0",
"react-native-router-flux": "^3.26.1",
"react-redux": "^4.4.5",
"redux": "^3.5.2",
"redux-thunk": "^2.1.0",
"strformat": "0.0.7"
},
"devDependencies": {
"babel-core": "^6.10.4",
"babel-jest": "^12.1.0",
"babel-preset-es2015": "^6.9.0",
"babel-preset-react-native": "^1.9.0",
"babel-register": "^6.9.0",
"chai": "^3.5.0",
"fetch-mock": "^4.5.4",
"jest-cli": "^12.1.1",
"mocha": "^2.5.3",
"mockery": "^1.7.0",
"nock": "^8.0.0",
"redux-mock-store": "^1.1.1",
"sinon": "^1.17.4",
"sinon-chai": "^2.8.0",
"sinon-stub-promise": "^2.0.0"
}
Now I get
npm ERR! peerinvalid The package react@15.1.0 does not satisfy its siblings' peerDependencies requirements!
npm ERR! peerinvalid Peer react-native@0.26.3 wants react@15.0.2
npm ERR! peerinvalid Peer react-redux@4.4.5 wants react@^0.14.0 || ^15.0.0-0
This just not makes sense to me, as my react dependency is 15.0.2 and react-native 0.26.0 as you can see in package.json.
Note that this is from a previous commit that was working (the whole lot).
I also did a npm ls
. Weirdly wrong dependencies are shown in the tree like wrong versions of react-native
, react-native-router-flux
, react
.
link to ls output