Erreur de CLI angulaire: la commande serve doit être exécutée dans un projet angulaire, mais une définition de projet est introuvable


159

Lors de l'exécution des commandes de terminal ng serverou ng serve --live-reload=true, je reçois ce problème:

La commande serve doit être exécutée dans un projet Angular, mais aucune définition de projet n'a pu être trouvée.


11
Vérifiez si vous avez le dossier node_modules dans le dossier du projet, sinon effectuez l'installation de npm
KEMBL

j'ai déjà le dossier node_modules.
Gurpreet Singh

Je suis tombé sur cette question lorsque j'ai eu le même message d'erreur en essayant d'exécuter "ng build". La réponse pour moi était d'exécuter "npm run build"
cfranklin le

J'étais dans le répertoire racine et j'obtenais cette erreur: D. Après ng new projectavoir oublié d'entrer dans le répertoire du projet.
Davut Gürbüz le

Réponses:


229

J'obtenais également ce problème et je l'ai résolu en exécutant la commande ci-dessous.

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

par exemple

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

obtenir la référence d'ici https://github.com/angular/angular-cli/issues/12215#issuecomment-433593036


30
Cela se produit parce que new angular-cli depend utilise angular.json au lieu de .angular-cli.json comme fichier projet, et votre réponse s'occupe de cette conversion
Nom de code Jack

7
Note: --from=1.7.4représente la version en cours de migration à partir, de sorte que le 1.7.4devrait être changé à la version angulaire que vous utilisez auparavant (par exemple: 5.2.10, 6.0.0, etc.).
cjn

4
ng update @ angular / cli << cela a fonctionné pour moi avec un projet existant du 6 au 7 angulaire
Abdullah Adeeb

2
J'étais sur 1.2.4 et j'ai eu l'erreur suivante: The specified command update is invalid. For available options, see ``ng help``.je l'ai résolu en mettant à jour angular-cli vers 1.7.4, puis en suivant cette réponse.
ILikeFood

1
Merci. Travailler pour moi quand j'ai mis à niveau angular de 4.4.7 à 7
Pullat Junaid

71

assurez-vous que vous exécutez la commande dans le dossier racine de l'application.


pour accéder à votre dossier racine, utilisez pm> dir pm> cd clientappalors si vous avez un message d'erreur, utilisez ce qui suit pm>ng config -g cli.warnings.versionMismatch false
hosam hemaily

44

si vous avez téléchargé un projet, faites dans le projet

npm installer


mon problème était des paquets npm privés qui n'étaient pas installés
David

Même problème que j'ai eu en essayant les projets de test pour un tutoriel angulaire
mahlatse

19

Enfin, la commande ci-dessous a résolu le problème pour moi!

ng update --all --force

J'ai essayé ng update @angular/clin'a pas fonctionné mais a ng update --all --forcefonctionné comme prévu. Quelle serait la différence?
k11k2

15

Erreur Angular Cli: la commande serve doit être exécutée dans un projet angulaire, mais aucune définition de projet n'a pu être trouvée

Problème: fichiers angular.json manquants.

    ng update --all --force

Testé dans Angular 7+


5

Cela se passait dans mon projet existant alors que j'essayais de mettre à jour vers les derniers packages nodeet npm:

  1. Désinstaller global: npm uninstall -g angular-cli
  2. Réinitialiser le cache: npm cache cleanou npm cache verify(pour npm version> 5)
  3. Installer le dernier: npm install -g @angular/cli@latest

4

Assurez-vous d'avoir défini la nouvelle configuration de version angulaire dans votre projet. Le nouveau cli angulaire utilise angular.json et non .angular-cli.json pour sa configuration.

Suivez le guide de migration .


4

C'était idiot moi mais je dois laisser un commentaire, peut-être que je sauverai quelqu'un d'autre des tracas. Le même message se produit si vous effectuez plusieurs tâches à la fois et que vous avez plusieurs projets, donc une partie du projet est imbriquée dans le dossier du projet, comme projectFolder/subProject/projectOnesi projectFolder/subProjectj'essayais d'exécuter la commande ng serve.

Assurez-vous que vous êtes dans le bon dossier car la même erreur se produira si vous êtes dans le mauvais dossier et que conf et build sont manquants!


3

Dans votre console du gestionnaire de packages, exécutez la commande

PM> cd NameofApp 

alors vous pouvez essayer d'exécuter la commande là-bas.

PM > ng generate component Home

3

Cela se produit lorsque vous essayez d'exécuter la commande Angular "ng s" ou "ng serve" sur l'autre dossier au lieu du dossier racine de l'application Angular.

Mettez également à niveau Angular à l'aide de la commande suivante:

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

Cela réglera le problème.


3

pour réinstaller fraîchement l'application est bien meilleure que de mettre à jour ou d'éditer une configuration qui n'est pas reconnue par npm en raison d'une configuration manquante ou nous ne sommes pas vraiment sûrs de ce qui ne va pas.

Je choisis la solution @Tinu, c'est du travail

Étape 1) npm install -g @ angular / cli

Étape 2) ng new my-angular-project

Étape 3) cd my-angular-project

Étape 4) ng serve --open

vient de faire une sauvegarde de notre code source actuel et de le remettre dans le nouveau projet angulaire qui sera créé.


2

Dans mon cas, j'ai oublié de changer mon répertoire, donc juste après avoir exécuté la commande:

ng nouveau AngularProject

exécutez une autre commande:

cd AngularProject

et a ng servetravaillé pour moi.


2

J'ai eu le même problème avec Angular7 car nous devons aller dans le dossier racine avant d'exécuter votre application. Accédez au dossier racine de votre application et exécutez la commande. Cela fonctionne parfaitement pour moi.


2

Le même problème que j'ai rencontré, mais j'ai résolu en suivant ces étapes de code.

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

Pourquoi devons-nous créer un nouveau projet? Je veux que cela soit fait pour un existant
Dadhich Sourav

pourquoi créer un nouveau projet? Si quelqu'un a le problème dans un projet existant
Lint

2

Cette erreur se produit lorsque le projet que vous exécutez n'est pas un projet angulaire. Bien que vous ayez téléchargé un projet angulaire mais que vous n'ayez pas installé toutes les dépendances, c'est pourquoi la commande ng serve n'est pas disponible pour vous.

Naviguez simplement jusqu'au chemin où le projet est stocké et utilisez la commande

npm install

(Remarque - Node.js doit être installé sur votre système et si vous utilisez Angular 2 ou supérieur, angular cli doit également être installé sur votre système avant d'exécuter cette commande. Pour vérifier si node.js est installé sur votre système 1) Ouvrez cmd (tout chemin en tant que nœud doit être installé globalement dans votre système) 2) utilisez la commande

node -v
npm -v

pour obtenir la version node et npm)

Une chose plus importante: la version angular cli ne fera aucune différence si la version installée dans votre système est supérieure à la version requise par le projet. Cela donnera un avertissement mais vous pouvez ignorer l'avertissement.


2

Cette erreur peut se produire lorsque nous nous trouvons dans un mauvais répertoire, utilisez la commande cd pour changer de répertoire. Il n'est pas très évident d'après le commentaire ci-dessus que la commande spécifique donne cette erreur, donc cette réponse est basée sur l'hypothèse que vous exécutez ng serve en dehors du dossier racine / dossier du projet réel. C'est pourquoi cela donne une erreur car les commandes cli nécessitent des fichiers conf & build pour exécuter la compilation 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


1

Je suis tombé sur la même erreur. La raison en est que la nouvelle mise à jour angular cli rend angular-cli.json redondant, et il est remplacé par angular.json à la place. Ma version précédente d'Angular Cli est 1.7.4, donc pour effectuer le changement, j'ai exécuté la commande suivante, elle effectuera la conversion pour vous:

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

Option inconnue: '--target' npm ERR! code ELIFECYCLE
Sohail

1

J'ai rencontré le même problème quand,

J'avais créé un nouveau projet angulaire en utilisant l'ancienne version angular-cli (1.4.7) J'ai ensuite mis à jour angular-cli en utilisant les commandes ci-dessous ( NE PAS FAIRE CI-DESSOUS POUR METTRE À JOUR CLI )

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

Maintenant, quand j'ai essayé ng serve, j'obtenais la même erreur que toi

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

FAITES CI-DESSOUS POUR METTRE À JOUR CLI

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

1

Comme l'a dit Usman, j'ai eu beaucoup de mal la première fois, je suivais un tutoriel. Je n'avais pas défini mon répertoire dans le répertoire du projet, d'où cette erreur.

J'ai résolu le problème en

  1. Définition du répertoire racine correct sur l'emplacement de mon projet cd myproject
  2. Compilez l'application - ng serve

C'était ça.


1

J'ai essayé tout ce qui précède Mais pour moi, cela a été résolu par

npm start


cela devrait être dans la section des commentaires
Pardeep

@Pardeep J'ai essayé toutes les réponses ci-dessus, mais npm start m'a fonctionné. cela sera donc utile pour l'autre développeur. si elle est faite comme une réponse accrocheuse plutôt que de garder dans les commentaires
viveksuggu

1

J'utilise ionciv1, dans le fichier, ionic.config.jsonsupprimez la clé de type angulaire et cela a fonctionné correctement

exemple:

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

résolu

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

Cette erreur peut généralement être attribuée à une mise à jour de notre environnement d'exécution CLI global ou local. Pour vérifier si tel est le problème, nous devons examiner le package.jsonfichier. Là, nous devrions rechercher la dépendance @ angular / cli . Cela doit indiquer la version CLI utilisée pour créer notre projet. Prenons note de cette valeur, car nous devons l'utiliser pour migrer notre projet plus tard.

Nous devons maintenant comparer au runtime CLI actuel en entrant la commande suivante dans la fenêtre du terminal.

ng v

sortie de ng v

Si vous obtenez une erreur An unhandled exception occurred: ENOENT: no such file or directory, scandir '~/your-app/node_modules', vous avez oublié de courirnpm install

La console doit afficher la version actuelle de la CLI. Si les versions sont différentes , nous devons migrer le projet vers la nouvelle version CLI en exécutant la commande ci-dessous. Notez que le paramètre de version doit être défini sur la valeur trouvée pour le paramètre @ angular / cli .

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

Nous devrions maintenant jeter un coup d'œil à notre projet et remarquer les modifications apportées à la version de dépendance CLI dans le package.jsonfichier. En fonction de la version de votre CLI, le .angular-cli.jsonfichier est également supprimé et un nouveau angular.jsonfichier est créé. Il s'agit du fichier de projet que la nouvelle CLI recherche et donc de la source de l'erreur de non-projet trouvé. En ajoutant ce fichier, nous devrions être en mesure d'être de nouveau sur la bonne voie pour exécuter à nouveau notre projet.

Nous devrions pouvoir entrer la commande suivante et le projet devrait se charger correctement.

ng server

Merci à ozkary


1

Assurez-vous d'avoir créé l'application angulaire à l'aide de la commande ci-dessous, puis exécutez ng serve dans le dossier Projet créé.

ng new Project_Name

0

Assurez-vous également si vous exécutez ng serve que vous l'arrêtez d'abord ...


0

Résolu. J'avais le même problème sur ubuntu 18.04.01 LTS . Aucune des options ci-dessus ne fonctionnait car j'utilisais NVM (Node Version manager.) La solution est
avant de créer le projet , utilisez la commande
nvm use 10
(ma version de nœud était 10.15.0, j'ai donc utilisé "nvm use 10").
Il vous montrera la sortie-
Utilisant maintenant le nœud v10.15.0 (npm v6.4.1), les
versions varient selon les systèmes individuels. puis créez un nouveau projet.


0

Vous pouvez mettre à jour l'angulaire avec la commande 'ng update --all'. Cela prendra du temps, mais assurez-vous que tous vos composants sont à jour.


0

S'il vous plaît vérifier si vous êtes dans votre dossier de projet ou non et essayez la commande à ng servenouveau

J'ai eu la même erreur depuis que j'ai essayé la ng servecommande en dehors de mon projet

Exemple: disons que vous avez un projet avec le nom "Ecommerce" traversez le dossier et essayez la commande ng serve open terminal cd Ecommerce ng serve


0

Cela a résolu mon problème:

ng generate component nameComponent --module app.module

0

Cela se produit parce que nous appuyons sur la commande ng serve dans un autre chemin.Cela peut être résolu en appuyant sur ng serve ou npm start command sur le chemin où se trouve exactement notre projet (prenez le chemin jusqu'au dossier qui contient src, node_modules, etc.)

F: \ project \ AngularDemo \ AngularDemoapp> ng serve

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.