Błąd kątowego interfejsu wiersza polecenia: polecenie Serv wymaga uruchomienia w projekcie Angular, ale nie można znaleźć definicji projektu

158

Podczas uruchamiania poleceń terminala ng serverlub ng serve --live-reload=trueotrzymuję ten problem:

Polecenie Serv wymaga uruchomienia w projekcie Angular, ale nie można znaleźć definicji projektu.

Gurpreet Singh
źródło
11
Sprawdź, czy masz folder node_modules w folderze projektu, jeśli nie, wykonaj instalację npm
KEMBL
mam już folder node_modules.
Gurpreet Singh
Natknąłem się na to pytanie, kiedy miałem ten sam komunikat o błędzie podczas próby uruchomienia „ng build”. Odpowiedzią dla mnie było uruchomienie "npm run build"
cfranklin
Byłem w katalogu głównym i otrzymałem ten błąd: D. Po tym, ng new projectjak zapomniałem wejść do katalogu projektu.
Davut Gürbüz

Odpowiedzi:

228

Otrzymałem również ten problem i rozwiązałem go, uruchamiając poniższe polecenie.

ng update @angular/cli --migrate-only --from=<WhateverVersionYouAreCurrentlyOn>

na przykład

ng update @angular/cli --migrate-only --from=1.7.3

uzyskiwanie referencji stąd https://github.com/angular/angular-cli/issues/12215#issuecomment-433593036

Lakhwinder Singh
źródło
30
Dzieje się tak, ponieważ nowy angular-cli zależy używa angular.json zamiast .angular-cli.json jako pliku projektu, a Twoja odpowiedź zajmuje się tą konwersją
Nazwa kodowa Jack
7
Uwaga: --from=1.7.4reprezentuje wersję trwa migracja z, więc 1.7.4powinien być zmieniany do wersji kątowej byłeś poprzednio, używając (np 5.2.10, 6.0.0itp).
cjn
4
ng update @ angular / cli << działało to dla mnie z istniejącym projektem od angular 6 do 7
Abdullah Adeeb
2
Byłem na 1.2.4 i otrzymałem następujący błąd: The specified command update is invalid. For available options, see ``ng help``.rozwiązałem go, aktualizując angular-cli do 1.7.4, a następnie postępując zgodnie z tą odpowiedzią.
ILikeFood
1
Dzięki. Pracowałem dla mnie, kiedy zaktualizowałem kąt z 4.4.7 do 7
Pullat Junaid
71

upewnij się, że uruchamiasz polecenie w folderze głównym aplikacji.

Me1o
źródło
aby uzyskać dostęp do folderu głównego, użyj pm> dir pm> cd clientappnastępującego komunikatu o błędzie pm>ng config -g cli.warnings.versionMismatch false
hosam hemaily
44

jeśli pobrałeś projekt, zrób w projekcie

npm install

Muraletharan
źródło
moim problemem były prywatne pakiety npm, które nie zostały zainstalowane
David
Ten sam problem, który miałem, próbując projektów testowych dla poradnika kątowego
mahlatse
19

Wreszcie poniższe polecenie rozwiązało problem!

ng update --all --force
Shahzeen shaikh
źródło
Próbowałem, ng update @angular/cliale nie zadziałało, ale ng update --all --forcedziałało zgodnie z oczekiwaniami, jaka byłaby różnica?
k11k2
15

Błąd Angular Cli: polecenie Serv wymaga uruchomienia w projekcie Angular, ale nie można znaleźć definicji projektu

Brakowało plików angular.json.

    ng update --all --force

Przetestowano w Angular 7+

afeef
źródło
5

Działo się to w moim istniejącym projekcie, gdy próbowałem zaktualizować do najnowszych nodei npmpakietów:

  1. Odinstaluj globalnie: npm uninstall -g angular-cli
  2. Zresetuj pamięć podręczną: npm cache cleanlub npm cache verify(dla npm version> 5)
  3. Zainstaluj najnowsze: npm install -g @angular/cli@latest
amrendra
źródło
4

Upewnij się, że ustawiłeś nową konfigurację wersji kątowej w swoim projekcie. Nowa konfiguracja angular cli używa do konfiguracji angular.json, a nie .angular-cli.json.

Postępuj zgodnie z przewodnikiem po migracji .

Lasitha
źródło
4

To było głupie, ale muszę zostawić komentarz, może oszczędzę komuś innemu kłopotów. Ten sam komunikat ma miejsce, jeśli wykonujesz wiele zadań jednocześnie i masz wiele projektów, więc część projektów jest zagnieżdżona w folderze projektu, projectFolder/subProject/projectOnetak jak projectFolder/subProjectpróbowałem uruchomić polecenieng serve .

Upewnij się, że jesteś we właściwym folderze, ponieważ ten sam błąd wystąpi, jeśli znajdziesz się w niewłaściwym folderze i brakuje opcji conf i build!

StefaDesign
źródło
3

W konsoli Menedżera pakietów uruchom polecenie

PM> cd NameofApp 

następnie możesz spróbować uruchomić tam polecenie, na przykład

PM > ng generate component Home
Zubeid Hendricks
źródło
3

aby ponownie zainstalować aplikację na nowo, jest o wiele lepsza niż aktualizacja lub edycja niektórych konfiguracji, które nie są rozpoznawane przez npm z powodu braku konfiguracji lub nie jesteśmy do końca pewni, co jest nie tak.

Wybieram rozwiązanie @Tinu to praca

Krok 1) npm install -g @ angular / cli

Krok 2) Nowy projekt my-angular

Krok 3) cd my-angular-project

Krok 4) ng Serv - Open

właśnie wykonałem kopię zapasową naszego obecnego kodu źródłowego i umieściłem go z powrotem w nowym projekcie kątowym, który zostanie utworzony.

ed91
źródło
2

Dzieje się tak, gdy próbujesz uruchomić polecenie Angular „ng s” lub „ng serv” w innym folderze zamiast w folderze głównym aplikacji Angular.

Uaktualnij także Angular za pomocą następującego polecenia:

ng update @angular/cli --migrate-only --from=1.7.4

To rozwiąże problem.

Rozwiązania OmkieIT
źródło
2

W moim przypadku zapomniałem zmienić katalogu, więc zaraz po uruchomieniu polecenia:

nowego AngularProject

wykonaj inne polecenie:

cd AngularProject

i ng servepracował dla mnie.

Usman Khalid
źródło
2

Miałem ten sam problem z Angular7, ponieważ przed uruchomieniem aplikacji musimy przejść do folderu głównego. Przejdź do folderu głównego swojej aplikacji i uruchom polecenie. U mnie działa idealnie.

Chamila Maddumage
źródło
2

Ten sam problem, na który natknąłem się, ale rozwiązałem, wykonując następujące kroki kodu.

Step 1) npm install -g @angular/cli
Step 2) ng new my-angular-project
Step 3) cd my-angular-project
Step 4) ng serve --open
Tinu Mathai
źródło
Dlaczego musimy stworzyć nowy projekt? Chcę, aby to zostało zrobione dla istniejącego
Dadhich Sourav
po co tworzyć nowy projekt? Jeśli ktoś ma problem w istniejącym projekcie
Lint
2

Ten błąd występuje, gdy uruchomiony projekt nie jest projektem kątowym. Chociaż pobrałeś projekt kątowy, ale nie zainstalowałeś wszystkich zależności, dlatego polecenie ng serv nie jest dostępne.

Po prostu przejdź do ścieżki, w której przechowywany jest projekt i użyj polecenia

npm install

(Uwaga - Node.js powinien być zainstalowany w twoim systemie, a jeśli używasz Angular 2 lub nowszego, kątowe cli powinno być również zainstalowane w twoim systemie przed uruchomieniem tego polecenia. Aby sprawdzić, czy node.js jest zainstalowany w twoim systemie 1) Otwórz cmd (dowolna ścieżka - jako węzeł powinien być globalnie zainstalowany w twoim systemie) 2) użyj polecenia

node -v
npm -v

aby uzyskać wersję node i npm)

Jeszcze jedna ważna rzecz: wersja kątowa CLI nie będzie miała znaczenia, jeśli wersja zainstalowana w Twoim systemie jest wyższa niż wersja wymagana przez projekt. Daje ostrzeżenie, ale możesz zignorować ostrzeżenie.

Utkarsh Joshi
źródło
2

Ten błąd może wystąpić, gdy jesteśmy w złym katalogu, więc użyj polecenia cd, aby zmienić katalog. Z powyższego komentarza nie wynika zbytnio, które konkretne polecenie powoduje ten błąd, więc ta odpowiedź opiera się na założeniu, że uruchamiasz ng, który jest poza folderem głównym / rzeczywistym folderem projektu. Dlatego generuje błąd, ponieważ polecenia CLI wymagają plików conf & build do uruchomienia kompilacji CLI.

These should be the steps:
npm install -g @angular/cli  //corrected from 'angular-cli'
ng new projectname
cd projectname
ng serve
open http://localhost:4200
Sachithra Dilshan
źródło
2

Przejdź do folderu aplikacji i ponownie uruchom polecenie Generuj:

wprowadź opis obrazu tutaj

miłość na żywo
źródło
1

Natknąłem się na ten sam błąd. Powodem jest to, że nowa aktualizacja angular cli sprawia, że ​​angular-cli.json jest zbędny i zamiast tego jest zastępowany przez angular.json. Moja poprzednia wersja Angular Cli to 1.7.4, więc aby dokonać zmiany, uruchomiłem następujące polecenie, które dokona konwersji:

ng update @angular/cli --migrate-only --from=1.7.4
Vinayak Savale
źródło
Nieznana opcja: „--target” npm ERR! kod ELIFECYCLE
Sohail
1

Napotkałem ten sam problem,

Utworzyłem nowy projekt kątowy, używając starej wersji angular-cli (1.4.7), a następnie zaktualizowałem angular-cli za pomocą poniższych poleceń ( NIE ROBIĆ PONIŻEJ, ABY ZAKTUALIZOWAĆ CLI )

  • npm uninstall -g @angular/cli
  • npm cache clean --force
  • npm install -g @angular/cli@latest

Teraz, kiedy próbowałem ng serve, otrzymywałem ten sam błąd, co ty

Angular Cli Error: The serve command requires to be run in an Angular project, but a project definition could not be found

PONIŻEJ, ABY ZAKTUALIZOWAĆ CLI

ng update @angular/cli --migrate-only --from=1.4.7
Vino
źródło
1

Jak powiedział Usman, za pierwszym razem miałem dużo problemów, postępowałem zgodnie z tutorialem. Nie ustawiłem katalogu na katalog projektu, dlatego pojawił się ten błąd.

Problem rozwiązałem przez

  1. Ustawienie prawidłowego katalogu głównego na miejsce, w którym znajdował się mój projekt cd myproject
  2. Skompiluj aplikację - ng serve

To było to.

Maxwell Fundi
źródło
1

Wypróbowałem wszystkie powyższe, ale dla mnie zostało to rozwiązane przez

npm start

viveksuggu
źródło
powinno to być w sekcji komentarzy
Pardeep
@Pardeep Wypróbowałem wszystkie powyższe odpowiedzi, ale npm start zadziałał. więc będzie to pomocne dla innego programisty. jeśli jest to raczej przyciągająca wzrok odpowiedź niż utrzymywanie w komentarzach
viveksuggu
1

Używam ionciv1, w pliku ionic.config.jsonusuń klucz kątowy i zadziałał poprawnie

przykład:

  {
  "name": "nombre",
  "integrations": {
    "cordova": {}
  },
  "type": "angular", // delete
  "gulpStartupTasks": [
    "sass",
    "templatecache",
    "ng_annotate",
    "useref",
    "watch"
  ],
  "watchPatterns": [
    "www/**/*",
    "!www/lib/**/*"
  ],
  "browsers": [
    {
      "platform": "android",
      "browser": "crosswalk",
      "version": "12.41.296.5"
    }
  ],
  "id": "0.1"
}

rozwiązany

     {
      "name": "nombre",
      "integrations": {
        "cordova": {}
      },
      "gulpStartupTasks": [
        "sass",
        "templatecache",
        "ng_annotate",
        "useref",
        "watch"
      ],
      "watchPatterns": [
        "www/**/*",
        "!www/lib/**/*"
      ],
      "browsers": [
        {
          "platform": "android",
          "browser": "crosswalk",
          "version": "12.41.296.5"
        }
      ],
      "id": "0.1"
    }
Johan Stiven Hernandez Osorio
źródło
1

Ten błąd zwykle można prześledzić do aktualizacji naszego globalnego lub lokalnego środowiska wykonawczego CLI. Aby sprawdzić, czy to jest problem, musimy przejrzeć package.jsonplik. Tam powinniśmy szukać @ angular / cli zależności . Powinno to wskazywać wersję CLI, która została użyta do stworzenia naszego projektu. Zanotujmy tę wartość, ponieważ będziemy potrzebować jej później do migracji naszego projektu.

Powinniśmy teraz porównać z bieżącym środowiskiem uruchomieniowym CLI, wprowadzając następujące polecenie w oknie terminala.

ng v

wyjście ng v

Jeśli pojawi się błąd An unhandled exception occurred: ENOENT: no such file or directory, scandir '~/your-app/node_modules', zapomniałeś uruchomićnpm install

Konsola powinna wyświetlić aktualną wersję CLI. Jeśli wersje są różne , musimy przeprowadzić migrację projektu do nowej wersji CLI, uruchamiając poniższe polecenie. Zauważ, że parametr from version powinien mieć wartość znalezioną dla ustawienia @ angular / cli .

ng update @angular/cli --migrate-only --from=1.6.7

Powinniśmy teraz przyjrzeć się naszemu projektowi i powinniśmy zauważyć zmiany w wersji zależności CLI w package.jsonpliku. W zależności od wersji interfejsu CLI .angular-cli.jsonplik jest usuwany i angular.jsontworzony jest nowy plik. To jest plik projektu, którego szuka nowy CLI, a tym samym źródło błędu braku projektu. Dodając ten plik, powinniśmy być w stanie ponownie uruchomić nasz projekt.

Powinniśmy być w stanie wprowadzić następujące polecenie, a projekt powinien się ładować.

ng server

Dzięki ozkary

Norman Edance
źródło
1

Upewnij się, że utworzyłeś aplikację kątową za pomocą poniższego polecenia, a następnie uruchom ng serv w utworzonym folderze projektu.

ng new Project_Name
AdroitSJ
źródło
0

Upewnij się również, że jeśli korzystasz z usługi ng, najpierw ją zatrzymaj ...

dirtyw0lf
źródło
0

Rozwiązany. Otrzymałem ten sam problem na ubuntu 18.04.01 LTS . Brak Powyższe opcje pracował jako używałem NVM (kierownik Wersja Node). Rozwiązanie to
przed utworzeniem projektu , użycie polecenia
NVM wykorzystanie 10
(moja wersja węzeł był 10.15.0, więc użyłem „NVM wykorzystanie 10”)
pokaże output-
Teraz korzystający z węzła 10.15.0 (npm v6.4.1)
Wersje będą się różnić w zależności od poszczególnych systemów. następnie utwórz nowy projekt.

Pravin Pokharkar
źródło
0

Możesz zaktualizować kątowe za pomocą polecenia „ng update --all”. To zajmie trochę czasu, ale upewnij się, że wszystkie komponenty są aktualne.

deepak samantaray
źródło
0

Sprawdź, czy jesteś w folderze projektu, czy nie, i spróbuj ng serveponownie wykonać polecenie

Otrzymałem ten sam błąd, odkąd próbowałem ng servekomendy poza moim projektem

Przykład :: powiedzmy, że masz projekt o nazwie „Ecommerce”, przechodzisz do folderu i wypróbuj polecenie ng serve otwórz terminal cd Ecommerce ng serv

Srikanth Avadhanula
źródło
0

To rozwiązało mój problem:

ng generate component nameComponent --module app.module
PoussinDev
źródło
0

Dzieje się tak, ponieważ wciskamy polecenie ng serv w innej ścieżce.Można to rozwiązać, naciskając polecenie ng serv lub npm start na ścieżce, w której dokładnie znajduje się nasz projekt (wybierz ścieżkę do folderu, który zawiera src, node_modules itp.)

F: \ projekt \ AngularDemo \ AngularDemoapp> ng serv

Radha Basida
źródło