8

I have been stuck on this for a day now.

On a clean repo, after doing an pnpm install, then an ng serve, you end up with this error in the console

...does not have 'ɵmod' property

This can happen with any module and the workaround below work for any module. NOTE: This can also happen if you have imported something other than a Module - there is nothing wrong with my imports in this case.

Workarounds:

  1. restart ng serve or run ng build twice
  2. See ngx-leaflet-draw: Importing module which does not have a ɵmod property (but I couldn't get ngcc to actually do anything - so that doesn't work for me - worth pointing that my repo has multiple projects)

While those workarounds may be adequate for a development environment, in a CI environment, you have to essentially have ng build twice to workaround the issue (which comes at a cost).

My solution in my CI build at the moment is to build twice (Scary to tell a compiler, if you don't get it right the first time, have another go...)

How do you go about finding the root cause of this issue? (So I can have a single ng build step in my CI build).

Arnaud
  • 430
  • 1
  • 3
  • 13
  • Does this answer your question? [Angular - Type Pipe does not have 'ɵmod' property](https://stackoverflow.com/questions/66005232/angular-type-pipe-does-not-have-%c9%b5mod-property) – Ken Y-N Aug 18 '21 at 06:58
  • Sadly no. This post relates to 'importing something other than a module' which I mention. In their case, a code fix was needed. In my case, no code fix is required, I need to build twice... – Arnaud Aug 18 '21 at 09:00
  • BTW, if I do a production build (only once), I end up with 'Cannot read property 'selectors' of null' error. (Building twice = no error) – Arnaud Aug 18 '21 at 09:06

1 Answers1

6

The issue for me is that I was using pnpm as package manager. Unfortunately, pnpm doesn't seem to play nicely with ngcc - pnpm uses hard-links in the node_modules folder. I have raised an issue with pnpm.

It turns out that pnpm can also cause the following issues (all fixable by running ng serve or build again):

  • TypeError: Cannot read property 'bindingStartIndex' of null
  • An error occurred during the build: Error: Tried to overwrite ... __ivy_ngcc_bak with an ngcc back up file, which is disallowed
Arnaud
  • 430
  • 1
  • 3
  • 13