Tienes que estar dentro de un proyecto angular-cli para poder usar el comando build después de reinstalar angular-cli

117

Tenía el último angular-cli instalado a nivel mundial y mi proyecto se estaba construyendo con éxito.

Mientras leía una solución sugerida para otro problema, ( https://github.com/angular/angular-cli/issues/917 ) desinstalé el angular-cli global y lo instalé como una dependencia de desarrollo.

Ese otro problema no se resolvió, así que desinstalé la dependencia de desarrollo y reinstalé angular-cli globalmente una vez más. Ahora, cuando intento hacer una compilación ng , aparece el error:

Tienes que estar dentro de un proyecto angular-cli para poder usar el comando build

Mi versión de angular-cli no cambió. ¿Por qué mi proyecto no está siendo reconocido como un proyecto angular-cli?

severo
fuente
En mi caso, tuve que actualizar @angular/clide 1.6.7 a 1.6.8
JPNotADragon

Respuestas:

181

Igual que la respuesta de John Pankowicz, pero en mi caso tuve que correr

npm install -g @angular/cli@latest

para que las versiones coincidan.

Oswaldo Salazar
fuente
6
Resulta que "@ angular / cli" es una versión más reciente de "angular-cli". El último está instalado globalmente en mi sistema y el primero aparece en package.json. Después de reemplazar el paquete, funcionó.
simonxy
Para mí, solo ejecutar el comando npm install -g @ angular / cli resolvió el problema.
DILIP KOSURI
¡Sí, funcionó!
Naveed Aheer
Esto funcionó para mí también. Era importante para el proyecto que me dieron tener versiones coincidentes
Keenan Payne
Estaba en la carpeta WebAPI, así que tuve que cambiar a la carpeta Angular CLI :)
Varun Maggo
53

Ok, lo encontré.

package.json debe contener una dependencia de angular-cli .

Cuando desinstalé mi angular-cli local, npm también eliminó la entrada de dependencia.

severo
fuente
7
¿Podrías explicar con más detalle esa parte sobre la dependencia?
BJAA
Desinstalar angular-cli como una dependencia de desarrollo, es decir, [npm uninstall --save-dev angular-cli] eliminó una entrada de packages.json "devDependencies": {"@ angular / cli": "^ 1.0.0", " ... "} y, por lo tanto, debe asegurarse de que esta entrada esté disponible en" devDependencies "o incluso en" dependencias "si es necesario
jabu.hlong
Entonces, ¿qué hiciste? ¿Qué desinstalaste exactamente? -g o -save?
Janatbek Sharsheyev
52
npm uninstall -g angular-cli @angular/cli
npm cache clean
npm install -g @angular/cli

use sudo en Mac / Linux.

Vinayaka
fuente
npm ERR! A partir de npm @ 5, la caché de npm se autocura de problemas de corrupción y se garantiza que los datos extraídos de la caché son válidos. Si desea asegurarse de que todo sea coherente, use 'npm cache verify' en su lugar.
obeliksz
Si se enfrenta a este problema: No se pudo encontrar el módulo "@ angular-devkit / build-angular" de .... Entonces, también podría ser útil ejecutar: npm install --save-dev @ angular-devkit / build- angular
Mario
para uso en el segundo pasonpm cache clean --force
Usman Saleh
Esto fue lo único que funcionó para mí. ¡Gracias!
Andrew Junior Howard
24

Tuve el mismo mensaje de error. Pero la causa y la solución son ligeramente diferentes. Cuando ejecuté "ng -v", mostró diferentes versiones para angular-cli (1.0.0-beta.28.3) y @ angular / cli (1.0.0-beta.31). Volví a ejecutar:

npm install -g @angular/cli

Ahora ambos muestran una versión de 1.0.0-beta.31. El mensaje de error desapareció y ahora funciona "ng serve". (Sí, fue @ angular / cli que reinstalé y se actualizó la versión angular-cli).

John Pankowicz
fuente
Tenga en cuenta que se necesita un muy largo tiempo para refrescar angular-cli, incluso una hora. En medio de una tarea de tiempo crítico, puede condenar su proyecto.
Tamás Polgár
Para mí, estaba probando npm install -g angular-cli, que ahora está en desuso. Tuve que npm install -g @ angular / cli
Robbie Smith
24

Funcionó en mi caso

sudo npm uninstall -g angular-cli @angular/cli
sudo npm cache clean --force
npm install npm@latest -g
sudo npm install -g @angular/cli
Humilde monstruo
fuente
2
npm install npm@latest -gpuede no ser necesario
Devin
15

Utilizar npm install angular-cli --save-dev

Pedro Henrique
fuente
6
PD Esto ahora está en desuso ... angular-cli se ha trasladado oficialmente a@angular/cli
shramee
Incluso estaba en desuso solucionó mi problema. Salud.
Gabriel Muñumel
14

Ejecute los siguientes comandos paso a paso:

sudo npm uninstall -g angular-cli @angular/cli

sudo npm cache clean

npm install npm@latest -g

sudo npm install -g @angular/cli

npm rebuild node-sass --force
Mitesh Panchal
fuente
8

Esto es lo que me ayudó cuando me encontré con el mismo problema:

npm uninstall -g angular-cli @angular/cli
npm cache clean --force
npm install -g @angular/cli@latest
Devman
fuente
5
npm uninstall -g angular-cli
npm uninstall --save angular-cli
npm uninstall -g @angular/cli
npm uninstall --save @angular/cli
npm cache clean
npm install --save-dev @angular/cli@latest
jhoanna
fuente
5

En mi caso (Mac OS X y el entorno Angular 1.5 usado anteriormente)

npm -g cache clean --force

npm cache clean --force

trabajó. ( npm install -g @angular/cli@latestdespués)

Alex Nevidomsky
fuente
5

Funciona npm install -g @angular/cli@latestconmigo.

UmaShankar
fuente
2

Este error se produce cuando hay incompatibilidad entre la versión del nodo y la versión angular / cli. por lo tanto, use el siguiente comando para actualizar la versión cli a la última

npm install -g @ angular / cli @ latest

Sunali Bandara
fuente
2
npm uninstall -g angular-cli @angular/cli

npm cache clean --force

npm install -g @angular-cli/latest

Probé comandos similares y funcionan para mí, pero asegúrese de usarlos desde el símbolo del sistema con derechos de administrador

Onkar Nirhali
fuente
1

Tuve el mismo problema: resultó que estaba usando un angular-cli obsoleto en lugar de @ angular / cli. Este último fue utilizado por mi equipo de desarrollo y me tomó un tiempo darme cuenta de que estábamos usando versiones diferentes de angular-cli.

Mac Keicam
fuente
1

Enfrenté el mismo problema mientras ejecutaba mi proyecto: descubrí que si su proyecto está usando una versión específica de cualquier cosa en package.json, averigüe e instale la versión específica de esas dependencias como para mí, npm install @ angular / cli @ ^ 4.0.0 .

Rutvik Joshi
fuente
0

No olvide usar --force:

npm cache clean --force
Diego Venâncio
fuente
0

Tuve un problema similar y nada funcionaba, pero luego seguí los pasos a continuación y funcionó para mí. cuando ejecuté cmd como administrador, funcionó bien para mí.

  1. Primero ejecute el símbolo del sistema como administrador ans.

  2. Crea el nuevo proyecto.

Si aún no crea el proyecto, elimine la carpeta y todos sus archivos, y luego ejecute ng new <project name>seguido de ng serve.

Si nada funciona, simplemente desinstale el nodo y todos los demás archivos relacionados con él y siga los pasos anteriores

Ayesha Sultana
fuente
0

Solo incluya esto en el package.json en la sección devDependencies

"angular-cli": "1.0.0-beta.25.5"

No es obligatorio instalarlo si tiene otra versión de cli instalada globalmente.

Tuve este problema cuando trabajé con angular2 & 4 a la vez con un proyecto diferente. Entonces, angular4: necesita angular-cli @ latest y angular2 necesita angular-cli la versión anterior.

Sanjay Kumar NS
fuente
0
npm uninstall -g angular-cli 

npm install -g @angular/cli

¡Eso es!

ingrese la descripción de la imagen aquí

Bhavya Shah
fuente
1
¡Bienvenido a Stack Overflow! Agregue código y datos como texto ( usando formato de código ), no imágenes. Imágenes: A) no nos permiten copiar y pegar el código / errores / datos para probar; B) no permitir búsquedas basadas en el código / error / contenido de datos; y muchas más razones . En general, código / errores / datos en formato de texto >>>> código / errores / datos como una imagen >> nada. Las imágenes solo deben usarse, además del texto en formato de código, si tener la imagen agrega algo significativo que no se transmite solo por el código de texto / error / datos.
doble pitido
Gracias por recibirme. Me ocuparé de eso la próxima vez.
Bhavya Shah
0

Puede que sea el problema de tu versión.

npm install -g @angular/cli@latest

La carrera anterior funcionó para mí. ¡Gracias!

Jaya Sundeep
fuente