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.

Gurpreet Singh
la source
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

Lakhwinder Singh
la source
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.

Moi1o
la source
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

Muralétharan
la source
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
Shahzeen shaikh
la source
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+

afeef
la source
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
Amrendra
la source
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 .

Lasitha
la source
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!

StefaDesign
la source
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
Zubeid Hendricks
la source
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.

Solutions OmkieIT
la source
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éé.

ed91
la source
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.

Usman Khalid
la source
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.

Chamila Maddumage
la source
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
Tinu Mathai
la source
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.

Utkarsh Joshi
la source
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
Sachithra Dilshan
la source
2

Accédez au dossier de votre application et exécutez à nouveau la commande generate:

entrez la description de l'image ici

l'amour en direct
la source
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
Vinayak Savale
la source
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
Vino
la source
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.

Maxwell Fundi
la source
1

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

npm start

viveksuggu
la source
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"
    }
Johan Stiven Hernandez Osorio
la source
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

Norman Edance
la source
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
AdroitSJ
la source
0

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

dirtyw0lf
la source
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.

Pravin Pokharkar
la source
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.

deepak samantaray
la source
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

Srikanth Avadhanula
la source
0

Cela a résolu mon problème:

ng generate component nameComponent --module app.module
PoussinDev
la source
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

Radha Basida
la source