Note: this answer applies only to Angular components and directives, NOT services.
I had this same issue when ngOnInit (and other lifecycle hooks) were not firing for my components, and most searches led me here.
The issue is that I was using the arrow function syntax (=>) like this:
class MyComponent implements OnInit { // Bad: do not use arrow function public ngOnInit = () => { console.log("ngOnInit"); } } Apparently that does not work in Angular 6. Using non-arrow function syntax fixes the issue:
class MyComponent implements OnInit { public ngOnInit() { console.log("ngOnInit"); } }