Chanaka Amarasinghe
Chanaka Amarasinghe

Reputation: 3798

Error: Cannot find module 'webpack/lib/node/NodeTemplatePlugin'

Got this Error after running webpack. Webpack is installed globally and I'm running Node

PS D:\Projects\ng2-admin-master> ng serve
Cannot find module 'webpack/lib/node/NodeTemplatePlugin'
Error: Cannot find module 'webpack/lib/node/NodeTemplatePlugin'
    at Function.Module._resolveFilename (module.js:469:15)
    at Function.Module._load (module.js:417:25)
    at Module.require (module.js:497:17)
    at require (internal/module.js:20:19)
    at Object.<anonymous> (D:\Projects\ng2-admin-master\node_modules\html-webpack-plugin\lib\compiler.js:11:26)
    at Module._compile (module.js:570:32)
    at Object.Module._extensions..js (module.js:579:10)
    at Module.load (module.js:487:32)
    at tryModuleLoad (module.js:446:12)
    at Function.Module._load (module.js:438:3)
    at Module.require (module.js:497:17)
    at require (internal/module.js:20:19)
    at Object.<anonymous> (D:\Projects\ng2-admin-master\node_modules\html-webpack-plugin\index.js:7:21)
    at Module._compile (module.js:570:32)
    at Object.Module._extensions..js (module.js:579:10)
    at Module.load (module.js:487:32)
PS D:\Projects\ng2-admin-master>

Upvotes: 70

Views: 102106

Answers (13)

Martin Brandl
Martin Brandl

Reputation: 58961

I faced a similar issue when updating my Angular app using ncu. Finally solved it by:

  • remove the node_modules directory
  • remove package-lock.json
  • reinstall the packages.

You can run this in PowerShell (make sure you are in the correct working directory):

rm node_modules -r -force
rm package-lock.json
npm cache verify
npm install

Upvotes: 36

Ridvan Saman
Ridvan Saman

Reputation: 11

This will fix your problem:

npm remove webpack -g
npm i webpack --save-dev

Upvotes: 0

Raunaqss
Raunaqss

Reputation: 1337

Update (Apr 2018)

Webpack 4 onwards you are required to install webpack-cli. You may also want to install webpack-dev-middleware if you need to use the options marked with a key on this page.

In this case the command to install is:

npm install --save-dev webpack webpack-cli html-webpack-plugin webpack-dev-server webpack-dev-middleware

As mentioned above, webpack-dev-middleware should be optionally added based on your requirements.

Older answer

Node requires you to install webpack to your project.

You have 2 options to solve the above:

  1. Remove global webpack and install it locally

    npm uninstall -g webpack
    npm install --save-dev html-webpack-plugin webpack webpack-dev-server
    
  2. You can link the global webpack pkg to your project's node modules. The downside of this is that your project will be forced to use most updated webpack. This will create a problem only when some updates are not backwards compatible.

    npm i webpack -g; npm link webpack --save-dev
    

You can omit the html-webpack-plugin depending on your requirement.

You can find more info on this github issue page.

Upvotes: 88

unloco
unloco

Reputation: 7320

It happened when I installed using yarn while the project used npm. I removed the node_modules folder then tried again with npm i

rm -rf node_module
npm install

The reason for this is that the project used specific packages versions which are compatible together but using yarn installed the newest versions which may not fully compatible with the current project.

Check which lock file the project uses then use the corresponding package manager.

Upvotes: 0

EJA
EJA

Reputation: 45

For me I fixed this error with:

yarn add --save-dev webpack webpack-cli html-webpack-plugin webpack-dev-server webpack-dev-middleware

Upvotes: 0

Guillem Puche
Guillem Puche

Reputation: 1404

Context:

I had this problem with a React application.

I tried to uninstall webpack globally and locally, also deleted the local folder node_modules, reinstalled all local npm modules (with npm install), etc.

Nothing worked, until doing this...


Solution:

  1. Remove package-lock.json & node_modules.
  2. Don't remove the other files (like: package.json, index.js...)
  3. Install all package (npm extracts information for the installation from package.json) with npm install === npm i.
  4. Now, run your code and voila! 🎉

Upvotes: 10

Audrey
Audrey

Reputation: 429

This happened to me after I configed 'react-bootstrap' in my next js app. try adding this fixed my problem:

yarn add webpack@webpack-4

or if using npm:

npm i webpack@webpack-4

Upvotes: 7

0xcuonghx
0xcuonghx

Reputation: 590

You have to check webpack modules already install in the node_modules folder or on your machine? if not install it

Upvotes: 0

MHS
MHS

Reputation: 931

This is work for me:

1. npm uninstall -g webpack
2. rm node_modules -r -force
3. rm package-lock.json
4. npm install

Upvotes: 0

NVCoder
NVCoder

Reputation: 211

Below worked for me:-

  • Removed node_modules
  • Deleted package-lock.json
  • Run npm install

Upvotes: 6

user3198259
user3198259

Reputation: 174

Remove the package-lock.json and try npm install it will resolve the issue.

Upvotes: 0

imdzeeshan
imdzeeshan

Reputation: 1118

Check webpack.config.js and make sure all dependencies are installed.

I was having the same problem too. It was resolved by installing html-webpack-plugin dependency. It was defined in my webpack.config.js but not installed.

Upvotes: 0

Shay
Shay

Reputation: 407

I tried for hours almost every thing suggested on different threads on Stack overflow but nothing worked. Eventually (with a lot of luck) I tried this and it worked:

deleted node_modules library (not sure if required)
npm install -g @angular/cli
npm install @angular/cli
npm install

Upvotes: 9

Related Questions