Module not found: 'redux'

I have create a new react application using create-react-app cli. Then i have added the 'react-redux' library using npm install --save react-redux.

In package.json I have:

"react-redux": "^4.4.5"

Unfortunately, the app doesn't compile and it complains with:

Error in ./~/react-redux/lib/utils/wrapActionCreators.js
Module not found: 'redux' in C:\Users\Salman\Desktop\Courses\Internship\React\Youtube-Front-End\node_modules\react-redux\lib\utils

 @ ./~/react-redux/lib/utils/wrapActionCreators.js 6:13-29

I have no idea what does it mean?

Here is the complete container:

import React,{Component} from 'react';
import {connect} from 'react-redux';

class BookList extends Component{
  renderList(){
        return this.props.books.map((book)=>{
          <li key={book.title} >{book.title}</li>
        });
    }

  render(){

    return(
      <div>
        <ul>
          {this.renderList()}
        </ul>
      </div>
    );
  }
}

function mapStateToProps(state){
  return{
    books:state.books
  };
}

export default connect(mapStateToProps)(BookList);

Here is complete package.json:

{
  "name": "Youtube-Front-End",
  "version": "0.1.0",
  "private": true,
  "devDependencies": {
    "react-scripts": "0.6.1",
    "webpack": "^1.13.2"
  },
  "dependencies": {
    "react": "^15.3.2",
    "react-dom": "^15.3.2",
    "react-redux": "^4.4.5",
    "youtube-api-search": "0.0.5"
  },
  "scripts": {
    "start": "react-scripts start",
    "build": "react-scripts build",
    "test": "react-scripts test --env=jsdom",
    "eject": "react-scripts eject"
  }
}

You need to install react-redux but also redux library.

npm install --save redux

react-redux internally uses Action, ActionCreator, AnyAction, Dispatch, Store these interfaces form redux package.

the moment you call

export default connect(mapStateToProps,mapDispatchToProps)(App);

react-redux try to make use of all these interfaces from redux package. which is not present at the moment.

So you may have to install react-redux package along with redux since both have dependency.

 npm install --save redux react-redux

Set moduleResolution to node at tsconfig.json

Example:

  "compilerOptions": {
    "moduleResolution": "node"
  }

You can use the following command:

using npm

npm install redux --save

using yarn

yarn add redux