After upgrading to Node.js version 8 on our build server, one of our development teams contacted me because their build started to fail. Here is the error they got when running ‘ng build’:
2018-06-14T06:20:11.8790352Z ##[section]Starting: ng build
2018-06-14T06:20:11.9073421Z ==============================================================================
2018-06-14T06:20:11.9073421Z Task : npm
2018-06-14T06:20:11.9073421Z Description : Run an npm command
2018-06-14T06:20:11.9083182Z Version : 0.2.22
2018-06-14T06:20:11.9083182Z Author : Microsoft Corporation
2018-06-14T06:20:11.9083182Z Help : [More Information](https://go.microsoft.com/fwlink/?LinkID=613746)
2018-06-14T06:20:11.9083182Z ==============================================================================
2018-06-14T06:20:15.5560039Z [command]C:\Program Files\nodejs\npm.cmd config list
2018-06-14T06:20:17.1849642Z ; cli configs
2018-06-14T06:20:17.1849642Z metrics-registry = "https://registry.npmjs.org/"
2018-06-14T06:20:17.1849642Z scope = ""
2018-06-14T06:20:17.1849642Z user-agent = "npm/5.6.0 node/v8.11.2 win32 x64"
2018-06-14T06:20:17.1849642Z
2018-06-14T06:20:17.1849642Z ; builtin config undefined
2018-06-14T06:20:17.1859408Z prefix = "C:\\Users\\AppData\\Roaming\\npm"
2018-06-14T06:20:17.1859408Z
2018-06-14T06:20:17.1859408Z ; node bin location = C:\Program Files\nodejs\node.exe
2018-06-14T06:20:17.1859408Z ; cwd = D:\b\3\_work\8\s\BBM
2018-06-14T06:20:17.1859408Z ; HOME = C:\Users\
2018-06-14T06:20:17.1859408Z ; "npm config ls -l" to show all defaults.
2018-06-14T06:20:17.1869174Z
2018-06-14T06:20:17.2357474Z [command]C:\Program Files\nodejs\npm.cmd run ng build
2018-06-14T06:20:20.5014978Z
2018-06-14T06:20:20.5014978Z > BBM@0.0.0 ng D:\b\3\_work\8\s\BBM
2018-06-14T06:20:20.5171234Z > ng "build"
2018-06-14T06:20:20.5171234Z
2018-06-14T06:20:30.8837324Z Cannot find module 'webpack/lib/dependencies/ContextElementDependency'
2018-06-14T06:20:30.8837324Z Error: Cannot find module 'webpack/lib/dependencies/ContextElementDependency'
2018-06-14T06:20:30.8837324Z at Function.Module._resolveFilename (module.js:547:15)
2018-06-14T06:20:30.8837324Z at Function.Module._load (module.js:474:25)
2018-06-14T06:20:30.8837324Z at Module.require (module.js:596:17)
2018-06-14T06:20:30.8837324Z at require (internal/module.js:11:18)
2018-06-14T06:20:30.8837324Z at Object.<anonymous> (D:\b\3\_work\8\s\BBM\node_modules\@ngtools\webpack\src\plugin.js:8:34)
2018-06-14T06:20:30.8837324Z at Module._compile (module.js:652:30)
2018-06-14T06:20:30.8837324Z at Object.Module._extensions..js (module.js:663:10)
2018-06-14T06:20:30.8837324Z at Module.load (module.js:565:32)
2018-06-14T06:20:30.8837324Z at tryModuleLoad (module.js:505:12)
2018-06-14T06:20:30.8837324Z at Function.Module._load (module.js:497:3)
2018-06-14T06:20:30.9325624Z npm ERR! code ELIFECYCLE
2018-06-14T06:20:30.9325624Z npm ERR! errno 1
2018-06-14T06:20:30.9345156Z npm ERR! BBM@0.0.0 ng: `ng "build"`
2018-06-14T06:20:30.9345156Z npm ERR! Exit status 1
2018-06-14T06:20:30.9345156Z npm ERR!
2018-06-14T06:20:30.9354922Z npm ERR! Failed at the BBM@0.0.0 ng script.
2018-06-14T06:20:30.9354922Z npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
2018-06-14T06:20:30.9520944Z
2018-06-14T06:20:30.9520944Z npm ERR! A complete log of this run can be found in:
2018-06-14T06:20:30.9520944Z npm ERR! C:\Users\AppData\Roaming\npm-cache\_logs\2018-06-14T06_20_30_933Z-debug.log
2018-06-14T06:20:31.3720324Z ##[error]npm failed with error: C:\Program Files\nodejs\npm.cmd failed with return code: 1
2018-06-14T06:20:31.3720324Z ##[section]Finishing: ng build
Here are the steps we took to fix it:
- Step 1 - Deleted the node modules from the build folder
- Step 2 – Removed the existing package-lock.json
- Step 3 - Run npm install
- Step 4 – Check in the newly created package-lock.json
After doing that, the build started to work again. (My love/hate relationship with NPM continues…)