Error: no se pudo encontrar el archivo de espacio de trabajo local ('angular.json')

189

Me he travis-ciintegrado con mi cuenta de GitHub ( https://github.com/pradeep0601/Angular5-Router-App ).

Cuando actualicé la @angular/cliversión de 1.7.4 a 6.0.0-rc.3, la compilación comenzó a fallar con un error:

Local workspace file ('angular.json') could not be found.
Error: Local workspace file ('angular.json') could not be found.
    at WorkspaceLoader._getProjectWorkspaceFilePath (/home/travis/build/pradeep0601/Angular5-Router-App/node_modules/@angular/cli/models/workspace-loader.js:37:19)
    at WorkspaceLoader.loadWorkspace (/home/travis/build/pradeep0601/Angular5-Router-App/node_modules/@angular/cli/models/workspace-loader.js:24:21)
    at TestCommand._loadWorkspaceAndArchitect (/home/travis/build/pradeep0601/Angular5-Router-App/node_modules/@angular/cli/models/architect-command.js:177:32)
    at TestCommand.<anonymous> (/home/travis/build/pradeep0601/Angular5-Router-App/node_modules/@angular/cli/models/architect-command.js:45:25)
    at Generator.next (<anonymous>)
    at /home/travis/build/pradeep0601/Angular5-Router-App/node_modules/@angular/cli/models/architect-command.js:7:71
    at new Promise (<anonymous>)
    at __awaiter (/home/travis/build/pradeep0601/Angular5-Router-App/node_modules/@angular/cli/models/architect-command.js:3:12)
    at TestCommand.initialize (/home/travis/build/pradeep0601/Angular5-Router-App/node_modules/@angular/cli/models/architect-command.js:44:16)
    at /home/travis/build/pradeep0601/Angular5-Router-App/node_modules/@angular/cli/models/command-runner.js:100:23

Fragmento de package.json para comprender mejor el entorno de ejecución:

    "@angular/cli": "6.0.0-rc.3",
    "@angular/compiler-cli": "^5.2.0",
    "@angular/language-service": "^5.2.0",
    "@types/jasmine": "~2.8.3",
    "@types/jasminewd2": "~2.0.2",
Pradeep
fuente
Me enfrenté al mismo problema, y ​​fue una tontería, esto ocurre cuando utilizo el terminal desde el código visual de estudio y funciona al cambiar a Windows por defecto cli!
Gilles Kagarama

Respuestas:

319

Acabo de tener el mismo problema.

Está relacionado con la versión v6.0.0-rc.2, https://github.com/angular/angular-cli/releases :

Nuevo formato de configuración. El nuevo archivo se puede encontrar en angular.json (pero también se acepta .angular.json). Ejecutar ng update en un proyecto CLI 1.7 lo moverá a la nueva configuración.

Necesitaba ejecutar:

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

Esta eliminado .angular-cli.jsony creado angular.json.

Si esto lleva a su proyecto con 1.7.4, instale v6 localmente:

npm install --save-dev @angular/[email protected]

E intente nuevamente actualizar su proyecto con:

ng update @angular/cli --migrate-only --from=1.7.4
Lenni
fuente
44
corriendo ng update @angular/cli --migrate-only --from=1.7.4como resultado de error: Collection "@schematics/angular/migrations/migration-collection.json" cannot be resolved.. ¿Alguna manera de arreglarlo?
VEGAN
1
También recibo `Opción desconocida: '--extractCss' '
Mohammed Barakat
8
Asegúrese de que sus versiones npm y nodejs estén actualizadas o es probable que tenga un error. ng update @angular/cliEs todo lo que se necesita.
rtaft
1
@ user1932595 Tuve que actualizar @schematics/angulara la última versión para superar ese error.
bygrace 01 de
2
Una breve nota sobre lo anterior. La eliminación de .angula-cli.json no me sucedió hasta la segunda ejecución del comando ng update.
Aggie Jon de 87
78

Recibía los mismos mensajes de error. Fue un error tonto de mi parte, no estaba corriendo ng serveen el directorio donde está mi proyecto Angular. Asegúrese de estar en el directorio correcto (directorio del proyecto) antes de ejecutar este comando.

DRG
fuente
3
oh, eso es una locura :)) gracias, ¡eso también me ahorró muchos problemas complejos! a veces las soluciones son realmente simples
msanjay
estaba cometiendo el mismo error
Faizan Mubasher
Yo hice lo mismo. Usted crea un directorio para servir su proyecto, y crea otro directorio dentro de ese directorio (abofetearme)
Jonathan
es decir, mi nueva aplicación, mi aplicación de CD (vi este comentario anteriormente pero asumí que significaba el nivel superior)
Tony
estaba cometiendo el mismo error que me salvaste el día, gracias
Ahmed ElShemy
36

Con versión reciente, sin --migrate-only que tengo actualizado el repositorio.

yo hice ng actualización

El formato de configuración de CLI angular ha cambiado, y su configuración existente se puede actualizar automáticamente ejecutando el siguiente comando:

ng update @angular/cli
            Updating karma configuration
            Updating configuration
            Removing old config file (.angular-cli.json)
            Writing config file (angular.json)
            Some configuration options have been changed, please make sure to update any npm scripts which you may have modified.
DELETE .angular-cli.json
CREATE angular.json (3684 bytes)
UPDATE karma.conf.js (1040 bytes)
UPDATE src/tsconfig.spec.json (322 bytes)
UPDATE package.json (1340 bytes)
UPDATE tslint.json (3140 bytes)
Sundara
fuente
Me saleIncompatible peer dependencies found. See above.
Simon Baars
Ocurrió un error inesperado; package @ angular / flex-layout no tiene versión nula.
Prageeth godage
20

Bueno, enfrenté el mismo problema tan pronto como actualicé mi angular cliversión.

Anteriormente estaba usando 1.7.4 y justo ahora lo actualicé a angular cli 6.0.8.

Para actualizar Angular Cli global:

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

Para actualizar el desarrollo de Angular Cli:

npm uninstall --save-dev angular-cli
npm install --save-dev @angular/cli@latest
npm install

Para solucionar problemas de auditoría después de la instalación de npm:

npm audit fix

Para solucionar el problema relacionado con "angular.json":

ng update @angular/cli --migrate-only --from=1.7.4
Vikash Pandey
fuente
17

Desinstale la versión anterior de Angular cli e instale Angular CLI global:

Actualice el paquete global de Angular cli a la siguiente versión, "@ angular / compiler-cli": "^ 6.0.0"

npm uninstall -g @angular/cli
npm cache verify
npm install -g @angular/cli@next

Genere un nuevo proyecto y una aplicación predeterminada ejecutando el siguiente comando:

ng new my-project
cd my-project
ng serve
Sanjay kumar
fuente
77
no use cli @ next, use cli @ latest o obtendrá las versiones beta.
Cambie el
9

Intenta usar el siguiente comando:

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

Realizará lo siguiente

  • Actualización de la configuración de karma

  • Actualizando configuración

  • Eliminar el archivo de configuración antiguo (.angular-cli.json)

  • Escribir archivo de configuración (angular.json)

Tenga en cuenta que el comando anterior debe ejecutarse en la carpeta donde tiene el archivo. angular-cli.jsony luego será reemplazado por angular.json.

TechSingh
fuente
Ejecuté el comando varias veces y el archivo angular.json nunca aparece. Sin embargo, si elimino el archivo angular-cli.json, ejecuto el comando, el archivo angular-cli.json se vuelve a agregar. ¿que me estoy perdiendo aqui?
jgritten
8

Si no conoce la versión, se ha realizado el proyecto actual, puede omitir el --fromcomando y escribir--migrate-only

ng update @ angular / cli --migrate-only

vipin cp
fuente
7

Si todo tipo de comandos de actualización no lo hará. Intenta eliminar package-lock.json . Y luego ejecuta npm install . Hizo el truco para mí después de pasar por toneladas de comandos de actualización.

Dennis Gadomski
fuente
¿Alguna razón para no tomar este enfoque como predeterminado (soltando la carpeta node_modules y package-lock.json), y simplemente ejecutando npm install?
Wallace Howery
4

Esto funciona para mi:

Eliminar carpeta node_modules

Ejecutar comando: npm install

(Si no funciona por primera vez, repita esto 2 o 3 veces, es divertido, pero funciona para mí).

Shubham Verma
fuente
44
¿Por qué repetir este proceso tendría un efecto diferente al de la primera vez?
Sledge
3

Verifique la estructura de su carpeta donde está ejecutando el comando, debe ejecutar el comando 'ng serve' donde debería haber un archivo angular.json en la estructura.

el archivo angular.json se generará de forma predeterminada cuando ejecutamos el comando

npm install -g '@ angular / cli' ng nuevo Project_name luego cd project_folder luego, ejecuta ng serve. funciono para mi

Vinay Reddy
fuente
3

Solo corre ng update @angular/cli en tu consola. Es posible que encuentre algunas vulnerabilidades después de ejecutar el comando (si usa npm), pero luego simplemente ejecutenpm audit fix en la consola para corregirlas. Este comando escaneará el proyecto en busca de vulnerabilidades y también solucionará problemas de compatibilidad instalando actualizaciones a estas dependencias. Si no desea corrección automática estas vulnerabilidades inmediatamente, puede realizar una ejecución en seco: por correr npm audit fix --dry-run -json en la consola. Esto le dará una idea de lo que npm audit fixhará el comando , en forma de json en la consola.

EZCity
fuente
3

Tuve el mismo problema, y ​​lo que hice que me funcionó fue:

  1. Dentro del archivo package.json, actualice la versión Angular CLI a la que desee:

    "devDependencies": { ...
      "@angular/cli": "^6.0.8",
      ...
    }
    
  2. Elimine la node_modulescarpeta para limpiar el proyecto antes de actualizar las dependencias con:

    npm install
    
    ng update @angular/cli
    
  3. Intentar construir nuevamente mi proyecto (el último intento exitoso)

    ng build --prod
    
Juan monsalve
fuente
2

Para mí lo que funcionó fue la creación de un nuevo proyecto angular y simplemente copiar el archivo angular.json en el proyecto que tenía un problema debido al hecho de que el archivo angular.json fue falta .

Devman
fuente
1

Para mí, el problema se debía a que la versión global @ angular / cli y @ angular / compiler-cli eran diferentes. Mira en package.json .

...
"@angular/cli": "6.0.0-rc.3",
"@angular/compiler-cli": "^5.2.0",
...

Y si no coinciden, actualice o rebaje uno de ellos.

Filip Molcik
fuente
1

También enfrenté el mismo problema y acabo de ejecutar el siguiente comando.

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

Simplemente borra angular-cli.jsony crea angular.json. Puede encontrar esto en los registros.

Una vez que comience la ejecución. Podrá ver los registros a continuación en su terminal.

        Updating karma configuration
        Updating configuration
        Removing old config file (.angular-cli.json)
        Writing config file (angular.json)
        Some configuration options have been changed, please make sure to update any                                     
        npm scripts which you may have modified.
        DELETE .angular-cli.json
        CREATE angular.json (3599 bytes)
        UPDATE karma.conf.js (962 bytes)
        UPDATE src/tsconfig.spec.json (324 bytes)
        UPDATE package.json (1405 bytes)
        UPDATE tsconfig.json (407 bytes)
        UPDATE tslint.json (3026 bytes)
Ambuj Khanna
fuente
0

Para mí, el problema era que tenía una carpeta de proyecto angular dentro de una carpeta de proyecto de rails, y ejecuté todos los comandos de actualización angular en la carpeta principal de rails en lugar de la carpeta angular real.

Niek
fuente
0

Estaba teniendo este mensaje de error dentro de un contenedor acoplable. Lo resolví agregando:

WORKDIR /usr/src

a Dockerfile.

Nae
fuente
0

Tuve el mismo problema y descubrí que no había package.json en mi proyecto (sino solo package-lock.json). entonces yo

  1. restaurado el paquete.json desde el control de origen
  2. desinstaló las versiones global y local angular-cli (como dice la instrucción)
  3. siguió el procedimiento de actualización estándar

..y todo salió bien. Tomó un tiempo resolverlo, pero eso lo hizo por mí.

Stefan de Groot
fuente
0
~/Desktop $ ng serve

No se pudo encontrar el archivo de espacio de trabajo local ('angular.json').

Error: No se pudo encontrar el archivo de espacio de trabajo local ('angular.json').

at WorkspaceLoader._getProjectWorkspaceFilePath (/usr/lib/node_modules/@angular/cli/models/workspace-loader.js:37:19)
at WorkspaceLoader.loadWorkspace (/usr/lib/node_modules/@angular/cli/models/workspace-loader.js:24:21)
at ServeCommand._loadWorkspaceAndArchitect (/usr/lib/node_modules/@angular/cli/models/architect-command.js:180:32)
at ServeCommand.<anonymous> (/usr/lib/node_modules/@angular/cli/models/architect-command.js:47:25)
at Generator.next (<anonymous>)
at /usr/lib/node_modules/@angular/cli/models/architect-command.js:7:71
at new Promise (<anonymous>)
at __awaiter (/usr/lib/node_modules/@angular/cli/models/architect-command.js:3:12)
at ServeCommand.initialize (/usr/lib/node_modules/@angular/cli/models/architect-command.js:46:16)
at Object.<anonymous> (/usr/lib/node_modules/@angular/cli/models/command-runner.js:87:23)

Esto se debe a que no he elegido el directorio del proyecto angular.

Debería ser como:

~ / Desktop / angularproject $ ng serve

Manu RS
fuente
0

Estaba tratando de configurar mi aplicación Ionic 4 para que se ejecute como pwa. Cuando ejecuto el comando:

ng add @angular/pwa

... recibí el mensaje de error. Después de algunos intentos y errores descubrí que cuando se creó mi proyecto, el comando de inicio era incorrecto. Estaba usando una versión de Ionic 3:

ionic start myApp tabs --type=ionic-angular

Y lo correcto es:

ionic start myApp tabs --type=angular

sin tipo "iónico". Esto resolvió el error.

Nowdeen
fuente
0

Simplemente revise su directorio, debe ejecutar "ng serve" en el mismo directorio donde creó el proyecto.

Entonces, primero ingrese en el directorio de su proyecto.

Satywan Kumar
fuente
0

Para las personas que simplemente han clonado un proyecto e intentan ejecutarlo, npm installprimero deben ejecutarlo . Olvidé totalmente ejecutar esto y simplemente estaba ejecutándolo ng serveantes de instalar módulos de nodo.

Sagar Khatri
fuente