Skip to main content

Angular 5 Build issues - Cannot find module 'webpack/lib/dependencies/ContextElementDependency'

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…Smile)

Popular posts from this blog

Kubernetes–Limit your environmental impact

Reducing the carbon footprint and CO2 emission of our (cloud) workloads, is a responsibility of all of us. If you are running a Kubernetes cluster, have a look at Kube-Green . kube-green is a simple Kubernetes operator that automatically shuts down (some of) your pods when you don't need them. A single pod produces about 11 Kg CO2eq per year( here the calculation). Reason enough to give it a try! Installing kube-green in your cluster The easiest way to install the operator in your cluster is through kubectl. We first need to install a cert-manager: kubectl apply -f https://github.com/cert-manager/cert-manager/releases/download/v1.14.5/cert-manager.yaml Remark: Wait a minute before you continue as it can take some time before the cert-manager is up & running inside your cluster. Now we can install the kube-green operator: kubectl apply -f https://github.com/kube-green/kube-green/releases/latest/download/kube-green.yaml Now in the namespace where we want t...

Azure DevOps/ GitHub emoji

I’m really bad at remembering emoji’s. So here is cheat sheet with all emoji’s that can be used in tools that support the github emoji markdown markup: All credits go to rcaviers who created this list.

.NET 9 - Goodbye sln!

Although the csproj file evolved and simplified a lot over time, the Visual Studio solution file (.sln) remained an ugly file format full of magic GUIDs. With the latest .NET 9 SDK(9.0.200), we finally got an alternative; a new XML-based solution file(.slnx) got introduced in preview. So say goodbye to this ugly sln file: And meet his better looking slnx brother instead: To use this feature we first have to enable it: Go to Tools -> Options -> Environment -> Preview Features Check the checkbox next to Use Solution File Persistence Model Now we can migrate an existing sln file to slnx using the following command: dotnet sln migrate AICalculator.sln .slnx file D:\Projects\Test\AICalculator\AICalculator.slnx generated. Or create a new Visual Studio solution using the slnx format: dotnet new sln --format slnx The template "Solution File" was created successfully. The new format is not yet recognized by VSCode but it does work in Jetbr...