Erreur: le fichier d'espace de travail local ('angular.json') est introuvable

189

Je me suis travis-ciintégré à mon compte GitHub ( https://github.com/pradeep0601/Angular5-Router-App ).

Lorsque j'ai mis à jour la @angular/cliversion 1.7.4 vers 6.0.0-rc.3, la construction a commencé à échouer avec une erreur:

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

package.json pour mieux comprendre l'environnement en cours d'exécution:

    "@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
la source
J'ai rencontré le même problème, et c'était idiot, cela se produit lors de l'utilisation du terminal à partir du code de Visual Studio et fonctionne lors du passage à Windows par défaut cli!
Gilles Kagarama

Réponses:

319

J'ai juste eu le même problème.

Il est lié à la version v6.0.0-rc.2, https://github.com/angular/angular-cli/releases :

Nouveau format de configuration. Le nouveau fichier se trouve sur angular.json (mais .angular.json est également accepté). L'exécution de la mise à jour ng sur un projet CLI 1.7 vous déplacera vers la nouvelle configuration.

J'avais besoin d'exécuter:

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

Cela a été supprimé .angular-cli.jsonet créé angular.json.

Si cela conduit votre projet à utiliser la version 1.7.4, installez la v6 localement:

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

Et essayez à nouveau de mettre à jour votre projet avec:

ng update @angular/cli --migrate-only --from=1.7.4
Lenni
la source
4
en cours d' exécution des ng update @angular/cli --migrate-only --from=1.7.4résultats en erreur: Collection "@schematics/angular/migrations/migration-collection.json" cannot be resolved.. Une manière de résoudre ce problème?
GO VEGAN
1
Je reçois également `` Option inconnue: '--extractCss'``
Mohammed Barakat
8
Assurez-vous que vos versions npm et nodejs sont à jour ou vous risquez de rencontrer un échec. ng update @angular/cliest tout ce qui est nécessaire.
rtaft
1
@ user1932595 J'ai dû passer @schematics/angularà la dernière version pour surmonter cette erreur.
bygrace
2
Une courte note ci-dessus. La suppression de .angula-cli.json ne s'est pas produite pour moi avant la deuxième exécution de la commande ng update.
Aggie Jon du
78

J'obtenais les mêmes messages d'erreur. C'était une erreur stupide de ma part, je ne courais pas ng servedans le répertoire où se trouve mon projet Angular. Assurez-vous que vous vous trouvez dans le bon répertoire (répertoire du projet) avant d'exécuter cette commande.

DRG
la source
3
oh c'est fou :)) merci qui a sauvé beaucoup de dépannage complexe pour moi aussi! parfois les solutions sont vraiment simples
msanjay
faisait la même erreur
Faizan Mubasher
J'ai fais la même chose. Vous créez un répertoire pour servir votre projet, et il crée un autre répertoire à l'intérieur de ce répertoire (me gifler)
Jonathan
ie ng new my-app, cd my-app (j'ai vu ce commentaire plus tôt mais j'ai supposé que cela signifiait le plus haut niveau)
tony
faisait la même erreur que vous avez sauvé ma journée, merci
Ahmed ElShemy
36

Avec la version récente, sans --migrate-onlyavoir mis à jour le repo.

J'ai fait une mise à jour

Le format de configuration Angular CLI a été modifié et votre configuration existante peut être mise à jour automatiquement en exécutant la commande suivante:

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
la source
Je reçoisIncompatible peer dependencies found. See above.
Simon Baars
Une erreur inattendue s'est produite; package @ angular / flex-layout n'a pas de version null.
Prageeth godage
20

Eh bien, j'ai rencontré le même problème dès que j'ai mis à jour ma angular cliversion.

Auparavant, j'utilisais 1.7.4 et tout à l'heure je l'ai mis à jour angular cli 6.0.8.

Pour mettre à jour Angular Cli global:

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

Pour mettre à jour Angular Cli dev:

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

Pour résoudre les problèmes d'audit après l'installation de npm:

npm audit fix

Pour résoudre le problème lié à "angular.json":

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

Désinstallez l'ancienne version d'Angular cli et installez Angular CLI global:

Mettez à jour le package global Angular cli vers la version suivante, "@ angular / compiler-cli": "^ 6.0.0"

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

Générez un nouveau projet et une application par défaut en exécutant la commande suivante:

ng new my-project
cd my-project
ng serve
Sanjay Kumar
la source
7
n'utilisez pas cli @ next, utilisez cli @ latest ou vous obtiendrez les versions bêta.
Changez le
9

Essayez d'utiliser la commande ci-dessous:

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

Il effectuera ce qui suit

  • Mise à jour de la configuration du karma

  • Mise à jour de la configuration

  • Suppression de l'ancien fichier de configuration (.angular-cli.json)

  • Ecriture du fichier de configuration (angular.json)

Veuillez noter que la commande ci-dessus doit être exécutée dans le dossier où vous avez le fichier. angular-cli.jsonet il sera alors remplacé par angular.json.

TechSingh
la source
J'ai exécuté la commande plusieurs fois et le fichier angular.json ne s'affiche jamais. Cependant, si je supprime le fichier angular-cli.json, exécutez la commande, le fichier angular-cli.json est rajouté. Qu'est-ce que j'oublie ici?
jgritten le
8

Si vous ne connaissez pas la version, le projet actuel a été créé, vous pouvez omettre la --fromcommande et taper--migrate-only

ng update @ angular / cli --migrate-only

vipin cp
la source
7

Si toutes sortes de mises à jour de commandos ne le feront pas. Essayez de supprimer package-lock.json . Et puis exécutez npm install . A fait l'affaire pour moi après avoir traversé des tonnes de commandos de mise à jour.

Dennis Gadomski
la source
Une raison de ne pas prendre cette approche par défaut (en supprimant le dossier node_modules et package-lock.json) et en exécutant simplement npm install?
Wallace Howery
4

Ça marche pour moi:

Supprimer le dossier node_modules

Exécuter la commande: npm install

(Si cela ne fonctionne pas pour la première fois, répétez ceci 2 ou 3 fois, c'est drôle mais ça marche pour moi.)

Shubham Verma
la source
4
Pourquoi la répétition de ce processus aurait-elle un effet différent de la première fois?
Sledge
3

Vérifiez la structure de votre dossier où vous exécutez la commande, vous devez exécuter la commande 'ng serve' là où il devrait y avoir un fichier angular.json dans la structure.

Le fichier angular.json sera généré par défaut lorsque nous exécutons la commande

npm install -g '@ angular / cli' ng new Project_name puis cd project_folder puis, exécutez ng serve. ça a marché pour moi

Vinay Reddy
la source
3

Exécutez simplement ng update @angular/clidans votre console. Vous pouvez trouver des vulnérabilités après avoir exécuté la commande (si vous utilisez npm), mais exécutez simplement npm audit fixdans la console pour les corriger. Cette commande analysera le projet à la recherche de vulnérabilités et résoudra également les problèmes de compatibilité en installant des mises à jour de ces dépendances. Si vous ne souhaitez pas corriger automatiquement ces vulnérabilités immédiatement, vous pouvez effectuer un Dry Run: en exécutant npm audit fix --dry-run -json dans la console. Cela vous donnera une idée de ce que npm audit fixfera la commande , sous la forme de json dans la console.

EZCity
la source
3

J'ai eu le même problème, et ce que j'ai fait qui fonctionne pour moi était:

  1. Dans le fichier package.json, mettez à jour la version Angular CLI vers la version souhaitée:

    "devDependencies": { ...
      "@angular/cli": "^6.0.8",
      ...
    }
    
  2. Supprimez le node_modulesdossier, afin de nettoyer le projet avant de mettre à jour les dépendances avec:

    npm install
    
    ng update @angular/cli
    
  3. Essayez de reconstruire mon projet (la dernière tentative réussie)

    ng build --prod
    
Juan Monsalve
la source
2

Pour moi, ce qui a fonctionné était de créer un nouveau projet Angular et de copier simplement le fichier angular.json dans le projet qui avait un problème en raison du fait que le fichier angular.json était manquant .

Devman
la source
1

Pour moi, le problème était dû au fait que la version globale @ angular / cli et @ angular / compiler-cli étaient différentes. Regardez dans package.json .

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

Et s'ils ne correspondent pas, mettez à jour ou rétrogradez l'un d'entre eux.

Filip Molcik
la source
1

J'ai également rencontré le même problème et je viens d'exécuter la commande ci-dessous.

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

Il supprime angular-cli.jsonet crée simplement angular.json. Vous pouvez trouver cela dans les journaux.

Une fois que vous démarrez l'exécution. Vous pourrez voir ci-dessous les logs dans votre 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
la source
0

Consultez ce lien pour migrer d'Angular 5.2 vers 6. https://update.angular.io/

La mise à niveau vers la version 8.9 a fonctionné pour moi. entrez la description de l'image ici

raga
la source
0

Pour moi, le problème était que j'avais un dossier de projet angulaire dans un dossier de projet de rails, et j'ai exécuté toutes les commandes de mise à jour angulaire dans le dossier parent des rails plutôt que dans le dossier angulaire réel.

Niek
la source
0

J'avais ce message d'erreur dans un conteneur docker. Je l'ai résolu en ajoutant:

WORKDIR /usr/src

à Dockerfile.

Nae
la source
0

J'ai eu le même problème et j'ai trouvé qu'il n'y avait pas de package.json dans mon projet (mais seulement le package-lock.json). Je puis

  1. restauré le package.json à partir du contrôle de code source
  2. désinstallé les versions angular-cli globale et locale (comme le dit l'instruction)
  3. suivi la procédure de mise à niveau standard

..et tout s'est bien passé. Il a fallu du temps pour le comprendre, mais cela l'a fait pour moi.

Stefan de Groot
la source
0
~/Desktop $ ng serve

Le fichier d'espace de travail local ('angular.json') est introuvable.

Erreur: le fichier d'espace de travail local ('angular.json') est introuvable.

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)

C'est parce que je n'ai pas choisi le répertoire du projet Angular.

Cela devrait être comme:

~ / Desktop / angularproject $ ng serve

Manu RS
la source
0

J'essayais de configurer mon application Ionic 4 pour qu'elle fonctionne en tant que pwa. Quand j'exécute la commande:

ng add @angular/pwa

... a reçu le message d'erreur. Après quelques essais et erreurs, j'ai découvert que lorsque mon projet a été créé, la commande de démarrage était erronée. J'utilisais une version Ionic 3:

ionic start myApp tabs --type=ionic-angular

Et le correct est:

ionic start myApp tabs --type=angular

sans type «ionique». Cela a résolu l'erreur.

Nowdeen
la source
0

Vérifiez simplement votre répertoire, vous devez exécuter "ng serve" sur le même répertoire où vous avez créé le projet.

Alors, entrez d'abord dans le répertoire de votre projet.

satywan kumar
la source
0

Pour les personnes qui ont simplement cloné un projet et essayé de l'exécuter, vous devez d' npm installabord l' exécuter . J'ai totalement oublié de l'exécuter et je courais simplement ng serveavant d'installer les modules de nœuds.

Sagar Khatri
la source