'Please add a @NgModule annotation but I cannot figure why
I have a Node/Angular app which works locally in a Docker instance. For deployment to a Google VM, we have a script which checks out the Git files, compiles them, copies the outputs into an nginx folder and restarts the nginx.
I have (what I thought was) identical setups on two different VMs. I test any changes on the "staging" VM and then if all is working correctly, I run them on the "production" VM.
Yesterday, this system broke. My staging VM pulls, compiles and runs the code without any issues or even warnings. The production VM gives errors during the compilation
The compilation line is
sudo $(npm bin)/ng build --prod --output-path=dist
and the first error I see is
ERROR in : Unexpected value 'AngularFireDatabaseModule in /home/redacted/ng-app/node_modules/@angular/fire/database/angular-fire-database.d.ts' imported by the module 'AppModule in /home/redacted/ng-app/src/app/app.module.ts'. Please add a @NgModule annotation.
So, I saw this question which said I should move import to the declarations section. I did this for AngularFireDatabaseModule and then it would not compile on my (working) staging server, giving me an error
Please add a @Pipe/@Directive/@Component annotation
Which this answer says means I need to move the declaration back to the imports!
My assumption is that my two supposedly identical VMs have something different about them, but I am having difficulty figuring out what.
Is there some kind soul who can help me figure out what the difference is?
Both VMs: Running Ubuntu 20.04.3 LTS (GNU/Linux 5.11.0-1028-gcp x86_64)
Both VMs up to date
Both VMs: node --version
v17.4.0
Both VMs: sudo node --version
v13.14.0
Both VMs: npm -v
8.3.1
Both VMs: sudo npm -v
6.14.4
What else should I be checking for?
Solution 1:[1]
OK, I can't be sure what exactly fixed it, but in the end, I had to go into the folder where the compilation was occurring and run sudo npm update which seemd to fix the problems. Could've sworn I did that a few times before, but ¯\(?)/¯
Leaving this for anyone who is despairing - the simple answers seem to work best
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|---|
| Solution 1 | Kibi |
