Você vê este erro quando tenta injetar um service mas não declarou um provider correspondente. Um provider é um mapeamento que fornece um valor que você pode injetar no constructor de uma classe em sua aplicação.
Leia mais sobre providers em nosso guia de Injeção de Dependência.
Depurando o erro
Trabalhe de trás para frente a partir do objeto onde o erro afirma que um provider está faltando: No provider for ${this}!. Isso é comumente lançado em services, que requerem providers não existentes.
Para corrigir o erro, certifique-se de que seu service está registrado na lista de providers de um NgModule ou tem o decorator @Injectable com uma propriedade providedIn no topo.
A solução mais comum é adicionar um provider em @Injectable usando providedIn:
@Injectable({ providedIn: 'app' })