BŁĄD w ngcc jest już uruchomiony w trakcie procesu o identyfikatorze 5196 [zamknięte]

10

Kiedy próbuję uruchomić polecenie ng służyć w moim projekcie, pojawia się następujący błąd.

BŁĄD w ngcc jest już uruchomiony w procesie o identyfikatorze 5196

Shyam Narayan
źródło
6
Zatrzymaj podawanie i usuń ten pliknode_modules/@angular/compiler-cli/ngcc/ngcc_lock_file
Jacopo Sciampi
1
usunięcie pliku ngcc_lock_file rozwiązało problem
Shyam Narayan
Miałem ten problem także po raz pierwszy, kiedy obsłużyłem aplikację kątową 9. Lub lepiej, zatrzymałem serw w „niestandardowy sposób”.
Jacopo Sciampi
1
Plik został nazwany __ngcc_lock_file__dla mnie. Usunięcie go również rozwiązało problem tutaj.
rlv-dan

Odpowiedzi:

24

Spróbuj usunąć ngcc_lock_filena drodze: node_modules/@angular/compiler-cli/ngcc/ngcc_lock_file.

Miałem ten sam problem i usunąłem ten plik, a on zaczął działać dla mnie.

Mam nadzieję, że to pomoże!

Kompilator v2
źródło
2
W Angular 9 nazwa pliku to -__ngcc_lock_file__
Akshay
@Akshay Nie robi to żadnej różnicy, ponieważ jest to jedyny plik w tej lokalizacji. Zrozumiałe jest, który to plik.
Kompilator v2
5
 rm node_modules/@angular/compiler-cli/ngcc/__ngcc_lock_file__ 
Ole
źródło
2

Działające rozwiązanie

  1. Usuń wszystkie moduły węzłów
  2. Zamknij dowolny działający terminal lub możesz wyłączyć komputer, jeśli nie możesz się upewnić, że wszystkie działające terminale zostały zamknięte
  3. uruchom, npm iaby skonfigurować moduły
  4. biegać ng s

Działa ze mną dobrze!

Omar Hasan
źródło
To zadziałało dla mnie. Próbowałem usunąć plik ngcc_lock_file , ale po usunięciu pliku blokady miałem inne problemy.
Brandon Rader
Co to za problemy
Omar Hasan
Problemy z kompilacją Sass. Moje pliki Sass nie zmieniły się od czasu ostatniej udanej kompilacji, więc pomyślałem, że to muszą być jakieś moduły węzłów. Okazało się, że to rozwiązało i rozwiązałoby problem z blokadą, gdybym go jeszcze nie usunął.
Brandon Rader,
0

Problem jest najprawdopodobniej wyjątkowym przypadkiem.

  1. Upewnij się, że nie uruchamiasz innych ng serverównolegle.
  2. Zatrzymaj bieżące procesy i spróbuj ponownie.
  3. Załaduj ponownie komputer i spróbuj ponownie.

Jeśli to nie pomoże

Opublikuj pełny dziennik, aby można było rozwiązać problem.

0leg
źródło
@Oleg, Wydaje mi się, że jest jakiś problem z logiką ngcc.
Malik Haseeb
Jeśli używasz Angular 9, miał 14 kandydatów do wydania (najbardziej przetestowana jak dotąd wersja Angular). Jeśli nie korzystasz z jakiejś bardzo unikalnej konfiguracji - powinna już zostać przetestowana przez programistów. Opublikuj swoją konfigurację lub pełny dziennik.
0leg
0

Taka sytuacja występuje nawet wtedy, gdy:

  1. Nie zaczynasz z resztkowym plikiem blokady.
  2. Uruchomiłeś z wyprzedzeniem ngcc jest zalecane w dokumentacji.
  3. Robisz dużo równoległych budynków.

Nie sądzę, żeby miało to związek z jakimkolwiek konkretnym projektem, więc trudno jest wymyślić projekt, który sam go powiela.

Wydaje mi się, że jest jakiś problem z logiką ngcc. Być może proces kompilacji zawsze próbuje na chwilę zablokować, tworząc warunki wyścigu. Być może ngcc z wyprzedzeniem nie produkuje dokładnie takich danych wyjściowych, jakie będą potrzebne późniejszej wersji, aby uniknąć ostrzeżenia.

Malik Haseeb
źródło
0

Spróbuj zabić proces ngcc

Linux/Mac

zabij -9 numer_pid

Windows

taskkill / F / PID pid_number

Szorstki
źródło