Angular CLI-Fehler: Der Befehl serve muss in einem Angular-Projekt ausgeführt werden, eine Projektdefinition wurde jedoch nicht gefunden


158

Beim Ausführen der Terminalbefehle ng serveroder ng serve --live-reload=truewird Folgendes angezeigt:

Der Befehl serve muss in einem Angular-Projekt ausgeführt werden, eine Projektdefinition wurde jedoch nicht gefunden.


11
Überprüfen Sie, ob Sie den Ordner node_modules im Projektordner haben. Wenn nicht, führen Sie die npm-Installation durch
KEMBL

Ich habe bereits Node_Modules Ordner.
Gurpreet Singh

Ich bin auf diese Frage gestoßen, als ich beim Versuch, "ng build" auszuführen, dieselbe Fehlermeldung hatte. Die Antwort für mich war, "npm run build"
auszuführen

Ich war im Stammverzeichnis und bekam folgende Fehlermeldung: D. Nachdem ng new projectich vergessen habe, das Projektverzeichnis einzugeben.
Davut Gürbüz

Antworten:


228

Ich bekam auch dieses Problem und löste es, indem ich den folgenden Befehl ausführte.

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

z.B

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

Referenz von hier erhalten https://github.com/angular/angular-cli/issues/12215#issuecomment-433593036


30
Es passiert, weil new angle-cli abhängig angular.json anstelle von .angular-cli.json als Projektdatei verwendet und Ihre Antwort sich um diese Konvertierung kümmert
Codename Jack

7
Hinweis: Die --from=1.7.4stellt die Version von migriert werden, so dass die 1.7.4auf die Winkelversion geändert werden sollten Sie früher waren (zB: 5.2.10, 6.0.0usw.).
cjn

4
ng update @ angle / cli << das funktionierte für mich mit einem bestehenden Projekt von Angular 6 bis 7
Abdullah Adeeb

2
Ich war auf 1.2.4 und habe den folgenden Fehler erhalten: The specified command update is invalid. For available options, see ``ng help``.Ich habe ihn behoben, indem ich angle-cli auf 1.7.4 aktualisiert und dann dieser Antwort gefolgt bin.
ILikeFood

1
Vielen Dank. Ich arbeite für mich, als ich Angular von 4.4.7 auf 7 aufgerüstet habe
Pullat Junaid

70

Stellen Sie sicher, dass Sie den Befehl im Anwendungsstammordner ausführen.


pm> dir pm> cd clientapppm>ng config -g cli.warnings.versionMismatch false
Um

44

Wenn Sie ein Projekt heruntergeladen haben, tun Sie dies im Projekt

npm installieren


Mein Problem waren private npm-Pakete, die nicht installiert wurden
David

Das gleiche Problem, das ich hatte, als ich die Testprojekte für ein eckiges Tutorial
ausprobierte

19

Schließlich hat der folgende Befehl das Problem für mich behoben!

ng update --all --force

Ich habe versucht, ng update @angular/clinicht zu funktionieren, aber ng update --all --forcewie erwartet funktioniert. Was wäre der Unterschied?
k11k2

15

Angular Cli-Fehler: Der Serve-Befehl muss in einem Angular-Projekt ausgeführt werden, eine Projektdefinition wurde jedoch nicht gefunden

Problem fehlten angular.json-Dateien.

    ng update --all --force

Getestet in Angular 7+


5

Es geschah in meinem bestehenden Projekt, als ich versuchte, auf die neuesten nodeund npmPakete zu aktualisieren :

  1. Global deinstallieren: npm uninstall -g angular-cli
  2. Cache zurücksetzen: npm cache cleanoder npm cache verify(für npm version> 5)
  3. Neueste installieren: npm install -g @angular/cli@latest

4

Stellen Sie sicher, dass Sie die neue Winkelversionskonfiguration in Ihrem Projekt festgelegt haben. Das neue Angular Cli verwendet Angular.json und nicht .angular-Cli.json für seine Konfiguration.

Befolgen Sie die Migrationsanleitung .


4

Es war dumm von mir, aber ich muss einen Kommentar hinterlassen, vielleicht erspare ich jemand anderem Ärger. Dieselbe Meldung wird angezeigt, wenn Sie mehrere Aufgaben ausführen und mehrere Projekte haben, sodass ein Teil des Projekts im Projektordner verschachtelt ist, wie projectFolder/subProject/projectOneich es beim projectFolder/subProjectVersuch ausgeführt habe, einen Befehl auszuführen ng serve.

Stellen Sie sicher, dass Sie sich im richtigen Ordner befinden, da der gleiche Fehler auftritt, wenn Sie sich im falschen Ordner befinden und conf und build fehlen!


3

Führen Sie den Befehl in Ihrer Package Manager-Konsole aus

PM> cd NameofApp 

Dann können Sie versuchen, den Befehl dort auszuführen. Zum Beispiel

PM > ng generate component Home

3

Eine Neuinstallation der Anwendung ist weitaus besser, als eine Konfiguration zu aktualisieren oder zu bearbeiten, die von npm aufgrund fehlender Konfiguration nicht erkannt wird, oder wir sind uns nicht sicher, was falsch ist.

Ich wähle @Tinu Lösung ist Arbeit

Schritt 1) ​​npm installiere -g @ angle / cli

Schritt 2) ng neues my-angle-Projekt

Schritt 3) cd my-angle-project

Schritt 4) ng servieren - öffnen

Ich habe gerade ein Backup für unseren aktuellen Quellcode erstellt und es in ein neues Winkelprojekt zurückgesetzt, das erstellt wird.


2

Dies geschieht, wenn Sie versuchen, den Angular-Befehl "ng s" oder "ng serve" für den anderen Ordner anstelle des Stammordners der Angular-Anwendung auszuführen.

Aktualisieren Sie den Angular auch mit dem folgenden Befehl:

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

Dies wird es klären.


2

In meinem Fall habe ich vergessen, mein Verzeichnis zu ändern, also direkt nach dem Ausführen des Befehls:

ng neues AngularProject

Führen Sie einen anderen Befehl aus:

cd AngularProject

und ng servearbeitete für mich.


2

Ich hatte das gleiche Problem mit Angular7, da wir den Stammordner aufrufen müssen, bevor wir Ihre Anwendung ausführen können. Gehen Sie zum Stammordner Ihrer App und führen Sie den Befehl aus. Es funktioniert perfekt für mich.


2

Das gleiche Problem, auf das ich gestoßen bin, das ich jedoch durch Befolgen dieser Codeschritte gelöst habe.

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

Warum müssen wir ein neues Projekt erstellen? Ich möchte, dass dies für bestehende getan wird
Dadhich Sourav

Warum ein neues Projekt erstellen? Wenn jemand das Problem in einem bestehenden Projekt hat
Lint

2

Dieser Fehler tritt auf, wenn das von Ihnen ausgeführte Projekt kein Winkelprojekt ist. Obwohl Sie ein eckiges Projekt heruntergeladen haben, aber nicht alle Abhängigkeiten installiert haben, steht Ihnen der Befehl ng serve nicht zur Verfügung.

Navigieren Sie einfach zu dem Pfad, in dem das Projekt gespeichert ist, und verwenden Sie den Befehl

npm install

(Hinweis - Node.js sollte in Ihrem System installiert sein. Wenn Sie Angular 2 oder höher verwenden, sollte Angular Cli auch in Ihrem System installiert sein, bevor Sie diesen Befehl ausführen. So überprüfen Sie, ob node.js auf Ihrem System installiert ist 1) Öffnen Sie cmd (jeder Pfad als Knoten sollte global in Ihrem System installiert sein). 2) Verwenden Sie den Befehl

node -v
npm -v

um die Node- und Npm-Version zu erhalten)

Eine weitere wichtige Sache: Die eckige Cli-Version macht keinen Unterschied, wenn die in Ihrem System installierte Version höher ist als die vom Projekt geforderte Version. Es wird eine Warnung ausgegeben, aber Sie können die Warnung ignorieren.


2

Dieser Fehler kann auftreten, wenn wir uns im falschen Verzeichnis befinden. Verwenden Sie daher den Befehl cd, um Ihr Verzeichnis zu ändern. Aus dem obigen Kommentar geht nicht sehr deutlich hervor, welcher Befehl diesen Fehler ausgibt. Daher basiert diese Antwort auf der Annahme, dass Sie ng serve außerhalb des Stammordners / des tatsächlichen Projektordners ausführen. Aus diesem Grund wird ein Fehler ausgegeben, da für cli-Befehle conf & build-Dateien erforderlich sind, um den cli-Build auszuführen.

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

2

Wechseln Sie in Ihren App-Ordner und führen Sie den Befehl generate erneut aus:

Geben Sie hier die Bildbeschreibung ein


1

Ich bin auf den gleichen Fehler gestoßen. Der Grund dafür ist, dass das neue Angular-CLI-Update Angular-Cli.json überflüssig macht und stattdessen durch Angular.Json ersetzt wird. Meine vorherige Angular Cli-Version ist 1.7.4. Um die Änderung vorzunehmen, habe ich den folgenden Befehl ausgeführt. Die Konvertierung wird für Sie durchgeführt:

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

Unbekannte Option: '--target' npm ERR! Code ELIFECYCLE
Sohail

1

Ich stand vor dem gleichen Problem, als

Ich hatte neue Winkel Projekt mit alten Winkel-cli Version erstellt (1.4.7) habe ich dann aktualisiert Winkel-cli unter Befehlen ( TUE NICHT DIE UNTER DEM ZU AKTUALISIEREN CLI )

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

Als ich es versuchte ng serve, bekam ich den gleichen Fehler wie Sie

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

AKTUALISIEREN SIE CLI

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

1

Wie Usman sagte, hatte ich beim ersten Mal große Probleme, ich folgte einem Tutorial. Ich hatte mein Verzeichnis nicht auf das Projektverzeichnis gesetzt, daher wurde dieser Fehler angezeigt.

Ich habe das Problem durch gelöst

  1. Festlegen des richtigen Stammverzeichnisses für mein Projekt cd myproject
  2. Kompilieren Sie die App - ng serve

Das war's.


1

Versuchte alles oben Aber für mich wurde es gelöst durch

npm start


Dies sollte im Kommentarbereich sein
Pardeep

@Pardeep Ich habe alle oben genannten Antworten ausprobiert, aber npm start hat mir geholfen. so wird es für den anderen Entwickler hilfreich sein. wenn es als auffällige Antwort gemacht wird, anstatt in den Kommentaren zu
bleiben

1

Ich benutze ionciv1, ionic.config.jsonlösche in der Datei den Winkeltypschlüssel und es hat richtig funktioniert

Beispiel:

  {
  "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"
}

gelöst

     {
      "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"
    }

1

Dieser Fehler kann normalerweise auf ein Update unserer globalen oder lokalen CLI-Laufzeit zurückgeführt werden. Um zu überprüfen, ob dies das Problem ist, müssen wir die package.jsonDatei überprüfen . Dort sollten wir nach der @ angle / cli- Abhängigkeit suchen . Dies sollte die CLI-Version angeben, die zum Erstellen unseres Projekts verwendet wurde. Notieren wir uns diesen Wert, da wir ihn später für die Migration unseres Projekts verwenden müssen.

Wir sollten jetzt mit der aktuellen CLI-Laufzeit vergleichen, indem wir den folgenden Befehl im Terminalfenster eingeben.

ng v

Ausgabe von ng v

Wenn Sie eine Fehlermeldung erhalten An unhandled exception occurred: ENOENT: no such file or directory, scandir '~/your-app/node_modules', haben Sie vergessen, auszuführennpm install

Die Konsole sollte die aktuelle CLI-Version anzeigen. Wenn die Versionen unterschiedlich sind , müssen wir das Projekt auf die neue CLI-Version migrieren, indem wir den folgenden Befehl ausführen. Beachten Sie, dass der Parameter from version auf den Wert gesetzt werden sollte, der für die Einstellung @ angle / cli gefunden wurde .

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

Wir sollten uns jetzt unser Projekt ansehen und Änderungen an der CLI-Abhängigkeitsversion in der package.jsonDatei feststellen . Abhängig von Ihrer CLI-Version wird die .angular-cli.jsonDatei gelöscht und eine neue angular.jsonDatei erstellt. Dies ist die Projektdatei, nach der die neue CLI sucht, und somit die Fehlerquelle, für die kein Projekt gefunden wurde. Durch Hinzufügen dieser Datei sollten wir wieder in der Lage sein, unser Projekt erneut auszuführen.

Wir sollten in der Lage sein, den folgenden Befehl einzugeben, und das Projekt sollte einwandfrei geladen werden.

ng server

Danke an Ozkary


1

Stellen Sie sicher, dass Sie die eckige App mit dem folgenden Befehl erstellt haben, und führen Sie dann ng serve im erstellten Projektordner aus.

ng new Project_Name

0

Stellen Sie außerdem sicher, dass Sie es zuerst stoppen, wenn Sie ng serve ausführen ...


0

Gelöst. Ich habe das gleiche Problem auf Ubuntu 18.04.01 LTS bekommen . Keine oben genannten Optionen gearbeitet , wie ich wurde mit NVM (Node Version Manager.) Lösung ist
vor Projekterstellung , verwenden Sie den Befehl
NVM Einsatz 10
(meine Knoten Version 10.15.0 war, so dass ich „NVM Einsatz 10“ verwendet)
Es zeigt Ihnen Output-
Jetzt mit Knoten v10.15.0 (npm v6.4.1) Die
Versionen variieren je nach System. Erstellen Sie dann ein neues Projekt.


0

Sie können den Winkel mit dem Befehl 'ng update --all' aktualisieren. Es wird einige Zeit dauern, aber stellen Sie sicher, dass alle Komponenten auf dem neuesten Stand sind.


0

Bitte überprüfen Sie, ob Sie sich in Ihrem Projektordner befinden oder nicht, und ng servewiederholen Sie den Befehl

Ich habe den gleichen Fehler erhalten, da ich den ng serveBefehl außerhalb meines Projekts ausprobiert habe

Beispiel :: Nehmen wir an, Sie haben ein Projekt mit dem Namen "E-Commerce" in den Ordner durchlaufen und versuchen den Befehl ng serve open terminal cd E-Commerce ng serve


0

Dies hat mein Problem behoben:

ng generate component nameComponent --module app.module

0

Dies geschieht, weil wir den Befehl ng serve in einem anderen Pfad drücken. Dies kann gelöst werden, indem Sie den Befehl ng serve oder npm start auf dem Pfad drücken, auf dem sich genau unser Projekt befindet (nehmen Sie den Pfad bis zu dem Ordner, der src, node_modules usw. Enthält).

F: \ project \ AngularDemo \ AngularDemoapp> ng dienen

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.