Error: Module not found: Error: Can't resolve '@angular/cdk/scrolling'

AngularPrimeng

Angular Problem Overview


I am encountering the error: "Module not found: Error: Can't resolve '@angular/cdk/scrolling'" as soon as I add import TableModule from primeNG in app.module.ts. Why is this error is thrown? I don't see any module dependency mentioned in the primeNG documentation https://www.primefaces.org/primeng/#/table.

Error:

Failed to compile.

./node_modules/primeng/components/dropdown/dropdown.js
Module not found: Error: Can't resolve '@angular/cdk/scrolling' in '/Users/admin/angular/MovieApp/node_modules/primeng/components/dropdown'

        import {TableModule} from 'primeng/table';
    ...
    imports: [
        BrowserModule,
        AppRoutingModule,
        HttpClientModule,CarouselModule,FieldsetModule,BrowserAnimationsModule,LightboxModule,
        ScrollPanelModule,TableModule
      ],...

Angular Solutions


Solution 1 - Angular

Using npm install @angular/cdk --save would resolve this.

It needs it because the p-table uses the p-paginator which uses p-dropdown, which this needs the cdk.

You can check it here:

Solution 2 - Angular

Which angular version are you using. Angular 9 was removed ScrollDispatchModule in '@angular/cdk/scrolling' from last version. you can use it without importing the module . If not you can import the ScrollingModule instead.

Solution 3 - Angular

Just install a primeng version that is OK with your cdk, other way around. But changing your cdk version for primeng could mess with other dependencies and packages that you've already installed

Solution 4 - Angular

enter image description here

Just un update

When you import the PrimeNg 13.0.3 TableModule in your Angular 13.1.0, is enough to break the compiler because the module is still dependent on @angular/cdk/scrolling.

To solve, you need to install angular/cdk, as already mentioned in the accepted response.

Solution 5 - Angular

Regarding to the primeNg documentation you need to install CDK package:

npm install @angular/cdk --save

Also, you can check this page: https://primefaces.org/primeng/#/dropdown

Solution 6 - Angular

Check your "package.json"to confirm if "@angular/cdk" is installed. If its not, install it. If it is, press "CTRL C" to cut out and reserve with "ng serve"

Solution 7 - Angular

ng add @angular/material

> Choose a prebuilt theme name, or "custom" for a custom theme: Indigo/Pink

>❯ Indigo/Pink [ Preview: https://material.angular.io?theme=indigo-pink ]
❯ Deep Purple/Amber [ Preview: https://material.angular.io?theme=deeppurple-amber ]
❯ Pink/Blue Grey [ Preview: https://material.angular.io?theme=pink-bluegrey ]
❯ Purple/Green [ Preview: https://material.angular.io?theme=purple-green ]
Choose Hammer.js (Gesture recognition support) and Angular browser animation service.
# Set up HammerJS for gesture recognition? (Y/n) = Y
# ? Set up browser animations for Angular Material? (Y/n) = Y

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
Questionjavapedia.netView Question on Stackoverflow
Solution 1 - AngularDaniel PiñeiroView Answer on Stackoverflow
Solution 2 - AngularCodeMindView Answer on Stackoverflow
Solution 3 - AngularAhmed MujtabaView Answer on Stackoverflow
Solution 4 - AngularLuca Di LenardoView Answer on Stackoverflow
Solution 5 - AngularHamidView Answer on Stackoverflow
Solution 6 - AngularIb Abayomi AlliView Answer on Stackoverflow
Solution 7 - AngularS sabeerView Answer on Stackoverflow