2017-04-03 54 views
16

運行webpack後出現此錯誤。 Webpack安裝在全球,我正在運行節點錯誤:找不到模塊'webpack/lib/node/NodeTemplatePlugin'

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> 

回答

33

節點要求您將webpack安裝到您的項目中。

您有2個選項,以解決上述:

  1. 刪除全局的WebPack並安裝在本地

    npm uninstall -g webpack npm install --save-dev html-webpack-plugin webpack webpack-dev-server

  2. 您可以在全球的WebPack PKG鏈接到您的項目節點模塊。這個缺點是你的項目將被迫使用最新的webpack。這隻會在某些更新不向後兼容時纔會產生問題。

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

可以省略根據您的需要選擇HTML-的WebPack的插件。

您可以在這裏找到更多的信息:https://github.com/webpack/webpack/issues/2131

+0

所有方法都爲我工作。剛更新爲npm 5+。我可以在本地建設生產,但不推向heroku。不斷髮生錯誤,但模塊絕對位於正確的位置。 –

+0

@JonathanCorrin嗯,這是不尋常的。 NPM的緩存有時會變得混亂,請嘗試使用'npm cache clean'清除它,然後嘗試在本地安裝webpack。 – Raunaqss

+0

我想嘗試的另一件事是刪除'node_modules'目錄,然後再次執行'npm install'。只有當'webpack'本地不存在時纔會出現這個錯誤,所以如果你的'package.json'在'devDependencies'中提到了'webpack',這個工作就應該完成了。 – Raunaqss

5

我嘗試了好幾個小時,幾乎每一件事情建議對堆棧溢出,但沒有不同的線程工作。最後,(有很多運氣的),我想這和它的工作:

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

我使用ncu updateing我應用程序時,面臨着類似的問題。最後通過刪除node_modules和package-lock.json並重新安裝軟件包來解決它。

您可以在PowerShell中運行這個(確保你在正確的工作目錄):

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