Error de CLI angular: el comando de servicio debe ejecutarse en un proyecto angular, pero no se pudo encontrar una definición de proyecto

158

Cuando ejecuto los comandos del terminal ng servero ng serve --live-reload=true, obtengo este problema:

El comando de servicio debe ejecutarse en un proyecto angular, pero no se pudo encontrar una definición de proyecto.

Gurpreet Singh
fuente
11
Compruebe si tiene la carpeta node_modules en la carpeta del proyecto, si no realiza la instalación
npm
Ya tengo la carpeta node_modules.
Gurpreet Singh
Me encontré con esta pregunta cuando tuve el mismo mensaje de error al intentar ejecutar "ng build". La respuesta para mí fue ejecutar "npm run build"
cfranklin
Estaba en el directorio raíz y obtenía este error: D. Después de ng new projectque olvidé ingresar al directorio del proyecto.
Davut Gürbüz

Respuestas:

228

También recibí este problema y lo resolví ejecutando el siguiente comando.

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

p.ej

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

obtener referencia desde aquí https://github.com/angular/angular-cli/issues/12215#issuecomment-433593036

Lakhwinder Singh
fuente
30
Esto ocurre porque la nueva angular-cli depende usos angular.json en lugar de .angular-cli.json como archivo de proyecto, y su respuesta se encarga de esta conversión
Código Nombre Jack
77
Nota: El --from=1.7.4representa la versión que se está migrando desde, por lo que el 1.7.4se debe cambiar a la versión angular que estaba utilizando anteriormente (por ejemplo: 5.2.10, 6.0.0, etc).
cjn
44
ng update @ angular / cli << esto funcionó para mí con un proyecto existente de angular 6 a 7
Abdullah Adeeb
2
Estaba en 1.2.4 y obtuve el siguiente error: The specified command update is invalid. For available options, see ``ng help``.lo resolví actualizando angular-cli a 1.7.4 y luego siguiendo esta respuesta.
ILikeFood
1
Gracias. Trabajando para mí cuando actualicé angular de 4.4.7 a 7
Pullat Junaid
71

asegúrese de ejecutar el comando en la carpeta raíz de la aplicación.

Me1o
fuente
para acceder a su carpeta raíz, use pm> dir pm> cd clientappsi tiene un mensaje de error, use lo siguiente pm>ng config -g cli.warnings.versionMismatch false
hosam hemaily
44

si ha descargado un proyecto, hágalo en el proyecto

npm install

Muraletharan
fuente
mi problema fueron los paquetes privados npm que no se instalaron
David
Mismo problema que tuve al probar los proyectos de prueba para un tutorial angular
mahlatse
19

Finalmente, el siguiente comando solucionó el problema para mí.

ng update --all --force
Shahzeen shaikh
fuente
Intenté ng update @angular/clino funcionar, pero ng update --all --forcetrabajé como esperaba, ¿cuál sería la diferencia?
k11k2
15

Error de Cli angular: el comando de servicio debe ejecutarse en un proyecto angular, pero no se pudo encontrar una definición de proyecto

El problema faltaba archivos angular.json.

    ng update --all --force

Probado en Angular 7+

afeef
fuente
5

Estaba sucediendo en mi proyecto existente cuando intenté actualizar a la última versión nodey npmpaquetes:

  1. Desinstalar global: npm uninstall -g angular-cli
  2. Restablecer caché: npm cache cleano npm cache verify(para npm version> 5)
  3. Instale lo último: npm install -g @angular/cli@latest
amrendra
fuente
4

Asegúrese de haber configurado la nueva configuración de versión angular en su proyecto. El nuevo cli angular utiliza angular.json y no .angular-cli.json para su configuración.

Siga la guía de migración .

Lasitha
fuente
4

Fue una tontería, pero necesito dejar un comentario, tal vez le ahorre problemas a alguien más. El mismo mensaje ocurre si realiza múltiples tareas y tiene varios proyectos, por lo que parte del proyecto está anidado dentro de la carpeta del proyecto, projectFolder/subProject/projectOneasí que estaba projectFolder/subProjecttratando de ejecutar el comando ng serve.

¡Asegúrese de estar en la carpeta correcta porque se producirá el mismo error si está en la carpeta incorrecta y faltan conf y build!

StefaDesign
fuente
3

En la consola de Package Manager, ejecute el comando

PM> cd NameofApp 

entonces puede intentar ejecutar el comando allí. Por ejemplo

PM > ng generate component Home
Zubeid Hendricks
fuente
3

reinstalar nuevamente la aplicación es mucho mejor que actualizar o editar alguna configuración que npm no reconoce debido a la falta de configuración o no estamos realmente seguros de qué está mal.

Elijo @Tinu solución es trabajo

Paso 1) npm install -g @ angular / cli

Paso 2) ng nuevo proyecto my-angular

Paso 3) cd my-angular-project

Paso 4) ng servir - abrir

Acabo de hacer una copia de seguridad de nuestro código fuente actual y volver a colocarlo en el nuevo proyecto angular que se creará.

ed91
fuente
2

Esto sucede cuando intenta ejecutar el comando Angular "ng s" o "ng serve" en la otra carpeta en lugar de la carpeta raíz de la aplicación Angular.

También actualice el Angular usando el siguiente comando:

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

Esto lo solucionará.

Soluciones OmkieIT
fuente
2

En mi caso, olvidé cambiar mi directorio, así que justo después de ejecutar el comando:

ng nuevo AngularProject

ejecutar otro comando:

cd AngularProject

y ng servetrabajó para mi

Usman Khalid
fuente
2

Tuve el mismo problema con Angular7 porque necesitamos ir a la carpeta raíz antes de ejecutar su aplicación. Vaya a la carpeta raíz de su aplicación y ejecute el comando. Funciona perfectamente para mí.

Chamila Maddumage
fuente
2

Me encontré con el mismo problema, pero lo resolví siguiendo estos pasos de código.

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
fuente
¿Por qué tenemos que crear un nuevo proyecto? Quiero que esto se haga para uno existente
Dadhich Sourav
¿Por qué crear un nuevo proyecto? Si alguien tiene el problema en un proyecto existente
Lint
2

Este error ocurre cuando el proyecto que está ejecutando no es un proyecto angular. Aunque ha descargado un proyecto angular pero no ha instalado todas las dependencias, es por eso que el comando ng serve no está disponible para usted.

Simplemente navegue a la ruta donde se almacena el proyecto y use el comando

npm install

(Nota: Node.js debe instalarse en su sistema y, si está utilizando Angular 2 o superior, angular cli también debe instalarse en su sistema antes de ejecutar este comando. Para verificar si node.js está instalado en su sistema 1) Abra cmd (cualquier nodo de ruta como debe estar instalado globalmente en su sistema) 2) use el comando

node -v
npm -v

para obtener la versión de nodo y npm)

Una cosa más importante: la versión angular de cli no hará la diferencia si la versión instalada en su sistema es más alta que la versión requerida por el proyecto. Le dará una advertencia, pero puede ignorarla.

Utkarsh Joshi
fuente
2

Este error puede ocurrir cuando estamos en un directorio incorrecto. Utilice el comando cd para cambiar su directorio. No es muy evidente por el comentario anterior que el comando específico está dando este error, por lo que esta respuesta se basa en el supuesto de que está ejecutando ng serve fuera de la carpeta raíz / carpeta del proyecto real. Es por eso que está dando error porque los comandos cli requieren archivos conf y build para ejecutar la compilación 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
fuente
2

Cambie a la carpeta de su aplicación y vuelva a ejecutar el comando generate:

ingrese la descripción de la imagen aquí

vive el amor
fuente
1

Encontré el mismo error. La razón es que la nueva actualización angular de cli hace que angular-cli.json sea redundante, y en su lugar se reemplaza por angular.json. Mi versión anterior de Angular Cli es 1.7.4, por lo que para hacer el cambio, ejecuté el siguiente comando, hará la conversión por usted:

ng update @angular/cli --migrate-only --from=1.7.4
Vinayak Savale
fuente
Opción desconocida: '--target' npm ERR! código ELIFECYCLE
Sohail
1

Me enfrenté al mismo problema cuando,

Creé un nuevo proyecto angular con la versión anterior de angular-cli (1.4.7). Luego actualicé angular-cli con los siguientes comandos ( NO HAGA LO SIGUIENTE PARA ACTUALIZAR CLI )

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

Ahora cuando lo intenté ng serve, recibía el mismo error que tú

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

ABAJO PARA ACTUALIZAR CLI

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

Como dijo Usman, tuve muchos problemas la primera vez, estaba siguiendo un tutorial. No había configurado mi directorio en el directorio del proyecto, por lo tanto, recibí este error.

Resolví el problema por

  1. Establecer el directorio raíz correcto donde estaba mi proyecto cd myproject
  2. Compila la aplicación ng serve

Eso fue todo.

Maxwell Fundi
fuente
1

Intenté todo lo anterior Pero para mí fue resuelto por

npm start

viveksuggu
fuente
esto debería estar en la sección de comentarios
Pardeep
@ Pardeep He intentado toda la respuesta anterior, pero npm start me funcionó. entonces será útil para el otro desarrollador. si se hace tan llamativo respuesta en lugar de mantener en los comentarios
viveksuggu
1

Estoy usando ionciv1, en el archivo ionic.config.jsonelimine la clave de tipo angular y funcionó correctamente

ejemplo:

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

resuelto

     {
      "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 Hernández Osorio
fuente
1

Este error generalmente se puede rastrear hasta una actualización de nuestro tiempo de ejecución CLI global o local. Para verificar si este es el problema, necesitamos revisar el package.jsonarchivo. Allí, debemos buscar el @ angular / cli dependencia . Esto debería indicar la versión de CLI que se utilizó para crear nuestro proyecto. Tomemos nota de este valor, ya que necesitamos usarlo para migrar nuestro proyecto más adelante.

Ahora deberíamos compararnos con el tiempo de ejecución CLI actual ingresando el siguiente comando en la ventana del terminal.

ng v

salida de ng v

Si obtiene un error An unhandled exception occurred: ENOENT: no such file or directory, scandir '~/your-app/node_modules', entonces olvidó ejecutarnpm install

La consola debe mostrar la versión actual de la CLI. Si las versiones son diferentes , necesitamos migrar el proyecto a la nueva versión de la CLI ejecutando el siguiente comando. Tenga en cuenta que el parámetro desde la versión debe establecerse en el valor encontrado para la configuración @ angular / cli .

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

Ahora deberíamos echar un vistazo a nuestro proyecto y notar cambios en la versión de dependencia de CLI en el package.jsonarchivo. Además, según la versión de su CLI, el .angular-cli.jsonarchivo se elimina y angular.jsonse crea un nuevo archivo. Este es el archivo de proyecto que está buscando la nueva CLI y, por lo tanto, la fuente del error de ningún proyecto encontrado. Al agregar este archivo, deberíamos poder volver a la normalidad al ejecutar nuestro proyecto nuevamente.

Deberíamos poder ingresar el siguiente comando y el proyecto debería estar cargando bien.

ng server

Gracias a ozkary

Norman Edance
fuente
1

Asegúrese de haber creado la aplicación angular con el siguiente comando, luego ejecute ng serve en la carpeta del proyecto creado.

ng new Project_Name
AdroitSJ
fuente
0

También asegúrese de que si está ejecutando ng serve lo detenga primero ...

dirtyw0lf
fuente
0

Resuelto Estaba teniendo el mismo problema en ubuntu 18.04.01 LTS . Ninguna de las opciones anteriores funcionó ya que estaba usando NVM (Node Version manager.) La solución es
antes de crear el proyecto , use el comando
nvm use 10
(mi versión de nodo era 10.15.0, así que usé "nvm use 10")
Le mostrará la salida-
Ahora usando el nodo v10.15.0 (npm v6.4.1)
Las versiones variarán según los sistemas individuales. luego crea un nuevo proyecto.

Pravin Pokharkar
fuente
0

Puede actualizar el angular con el comando 'ng update --all'. Tomará tiempo, pero asegúrese de que todos sus componentes estén actualizados.

deepak samantaray
fuente
0

Verifique si está dentro de la carpeta de su proyecto o no e intente el comando ng servenuevamente

Recibí el mismo error desde que intenté el ng servecomando fuera de mi proyecto

Ejemplo: supongamos que tiene un proyecto con el nombre "Comercio electrónico" en la carpeta y pruebe el comando ng serve abrir terminal cd Comercio electrónico ng serve

Srikanth Avadhanula
fuente
0

Esto solucionó mi problema:

ng generate component nameComponent --module app.module
PoussinDev
fuente
0

Esto sucede porque estamos presionando el comando ng serve en alguna otra ruta. Esto se puede resolver presionando el comando ng serve o npm start en la ruta donde reside exactamente nuestro proyecto (tome la ruta hasta la carpeta que contiene src, node_modules, etc.)

F: \ project \ AngularDemo \ AngularDemoapp> ng serve

Radha Basida
fuente