angular-cli: Angular CLI can't find modules from locally installed library.

Versions

Angular CLI: 1.7.4
Node: 7.7.3
OS: darwin x64
Angular: 5.1.3
... animations, common, compiler, compiler-cli, core, forms
... http, language-service, platform-browser
... platform-browser-dynamic, router

@angular/cli: 1.7.4
@angular-devkit/build-optimizer: 0.3.2
@angular-devkit/core: 0.3.2
@angular-devkit/schematics: 0.3.2
@ngtools/json-schema: 1.2.0
@ngtools/webpack: 1.10.2
@schematics/angular: 0.3.2
@schematics/package-update: 0.3.2
typescript: 2.4.2
webpack: 3.11.0

Repro steps

  • create a library
  • pack it using npm pack
  • install the tgz file using npm install --save path_to_tgz_file
  • run client project

Observed behavior

ERROR in ./src/app/app.module.ts
Module not found: Error: Can't resolve '@my_library/sdk' in '/Users/eestein/Documents/dev/my_library/sdk-front/samples/src/app'
ERROR in ./src/app/app.component.ts
Module not found: Error: Can't resolve '@my_library/sdk' in '/Users/eestein/Documents/dev/my_library/sdk-front/samples/src/app'

Desired behavior

Angular CLI would recognize the local package.

Mention any other details that might be useful (optional)

This is what I have in my package.json of the client project:

"@my_library/sdk": "file:///Users/eestein/Documents/dev/my_library/sdk-front/library/my_library-sdk-1.0.0-alpha.2.tgz",

If I open both offending files (app.component.ts and app.module.ts) in VSCode no error is shown. It looks like VSCode can find it, but Angular CLI can’t.

This is my folder structure:

- library
   - library's code
   - *.tgz file
- samples
    - samples' code
    - package.json referencing the tgz file

About this issue

  • Original URL
  • State: closed
  • Created 6 years ago
  • Reactions: 9
  • Comments: 26 (3 by maintainers)

Most upvoted comments

@fedealu I’ve been struggling 2 hours with that and it’s finally working.

Maybe this will help you https://github.com/angular/angular-cli/issues/10665#issuecomment-500795466

Hi, I created a library that export some classes used for datamodel. index.ts export * from ‘./lib/user’; export class User { id: number; email: string; name: string; lastAccess: Date; creationDate: Date; }; I made the build of the library and tried to use on my project, but i get an error: ERROR in src/app/@core/helpers/session.manager.ts(9,30): error TS2307: Cannot find module ‘library-data’. Someone know how to fix? I already remove and reinstall packages but did’nt work.

Did you find a solution? I face the same problem. If you fixed it can you please share the solution?

Yes, I created the library using Angular 6. Using that I could import library in Angular 7 projects too.

@maxime1992 Ill take a look into that. Hopefully that helps. I’m re-installing every dependency of my library in the current proyect im using it. When I finally package that i hope it solves the issue!

Thanks though!

same here, just created a library and trying to use it, I get unresolved package while it is present in the node_modules directory

Hi, I created a library that export some classes used for datamodel.

index.ts export * from ‘./lib/user’;

export class User { id: number; email: string; name: string; lastAccess: Date; creationDate: Date; };

I made the build of the library and tried to use on my project, but i get an error: ERROR in src/app/@core/helpers/session.manager.ts(9,30): error TS2307: Cannot find module ‘library-data’.

Someone know how to fix?

I already remove and reinstall packages but did’nt work.

Have you tried to build your library prior importing it? Use this ng build my-lib-name and as a result you should expect a new dist folder at the root of your project then retry the import.

I am also facing the same issue while installing angular package from locale using ng-packagr. but when I open app.module.ts in VSCode no error is shown. It looks like VSCode can find it, but Angular CLI can’t.

Any help would be great.

Thanks

I’m having the same issue, however removing the node_modules and running npm install again didn’t fix it (I’ve also had to remove my local packages while using the conversion utility to migrate to Angular 6)