jqueryreactjsreact-bootstrapreact-popper

How to fix this error : " Module not found :can't resolve popper.js "


After import the Bootstrap and Jquery this error is showning when compiling.

import React from 'react';
import ReactDOM from 'react-dom';
import App from './App';
import 'bootstrap/dist/css/bootstrap.css';
import './index.css';

global.jQuery = require('jquery');
require('bootstrap');

Solution

  • Popper.js is a dependency of Bootstrap 4 which is used for showing popups. It is a peer dependency of bootstrap meaning it is something that bootstrap requires but doesn't include with itself when installed. So to install popper.js run

    npm install popper.js --save
    

    It is setup as a peer dependency because some people just use the css of Bootstrap without the javascript. jQuery and popper.js are the peer dependencies which needs to be installed separately. If you require the javascript of Bootstrap you need to install jQuery and popper.js alongside Bootstrap 4.


    Bootstrap 5 requires "Popper.js Core", not Popper.js. You should run this instead:

    npm install @popperjs/core --save
    

    (thanks @Kyouma for adding this in the comments)