Ошибка: не удается найти модуль 'webpack/lib/node/NodeTemplatePlugin'
Получил эту ошибку после запуска webpack. Webpack установлен глобально, и я запускаю 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>
Ответы
Ответ 1
Узел требует, чтобы вы установили веб-пакет в ваш проект.
У вас есть 2 варианта решения вышеуказанного:
-
Удалить глобальный веб-пакет и установить его локально
npm uninstall -g webpack npm install --save-dev html-webpack-plugin webpack webpack-dev-server
-
Вы можете связать глобальный пакет pkg с модулями вашего проекта. Недостатком этого является то, что ваш проект будет вынужден использовать самый обновленный веб-пакет. Это создаст проблему только тогда, когда некоторые обновления не имеют обратной совместимости.
npm я webpack -g; npm link webpack --save-dev
Вы можете опустить html-webpack-plugin в зависимости от ваших требований.
Вы можете найти больше информации на этой странице GitHub.
Обновление (апрель 2018 г.)
Webpack 4 и выше, вам необходимо установить webpack-cli
. Вы также можете установить webpack-dev-middleware
если вам нужно использовать опции, отмеченные на этой странице ключом.
В этом случае команда для установки:
npm install --save-dev webpack webpack-cli html-webpack-plugin webpack-dev-server webpack-dev-middleware
.
Как упомянуто выше, webpack-dev-middleware
должен быть добавлен в зависимости от ваших требований.
Ответ 2
У меня возникла аналогичная проблема при обновлении моего приложения Angular, используя ncu
. Наконец, решив его, удалите node_modules и package-lock.json и переустановите пакеты.
Вы можете запустить это в PowerShell (убедитесь, что вы находитесь в правильном рабочем каталоге):
rm node_modules -r -force
rm package-lock.json
npm cache verify
npm install
Ответ 3
Я пробовал в течение нескольких часов почти все, что предлагалось в разных потоках при переполнении стека, но ничего не работало. В конце концов (с большой удачей) я попробовал это, и это сработало:
deleted node_modules library (not sure if required)
npm install -g @angular/cli
npm install @angular/cli
npm install
Ответ 4
Контекст:
У меня была эта проблема с приложением React.
Я попытался удалить веб-пакет глобально и локально, а также удалить локальную папку node_modules
, переустановить все локальные модули npm (с npm install
) и т.д.
Ничего не сработало, пока не сделал это...
Решение:
- Удалите
package-lock.json
& node_modules
. - Не удаляйте другие файлы (например,
package.json
, index.js
...) - Установите весь пакет (
npm
извлекает информацию для установки из package.json
) с помощью npm install
=== npm i
. - Теперь запустите свой код и вуаля! 🎉
Ответ 5
Проверьте webpack.config.js
и убедитесь, что все зависимости установлены.
У меня тоже была такая же проблема. Это было решено путем установки зависимости html-webpack-plugin
. Это было определено в моем webpack.config.js
но не установлено.
Ответ 6
Удалите package-lock.json и попробуйте npm install, чтобы решить эту проблему.
Ответ 7
Ниже работало для меня: -
- Удалены node_modules
- Удаленный пакет-lock.json
- Запустите npm install