web-dev-qa-db-fra.com

impossible de trouver le module ngcc du compilateur après la mise à niveau Angular et project

Je viens de mettre à jour Angular cli et l'un de mes projets de 7.0.7 à 7.1.0.

J'ai suivi ce post et @ Francesco Borzi's answer.

maintenant j'ai essayé d'exécuter mon projet en utilisant:

ng serve --proxy-config proxy.conf.json

et j'ai reçu ce message

Impossible de trouver le module '@ angular/compiler-cli/ngcc' Erreur: impossible de trouver

module '@ angular/compiler-cli/ngcc'

at Function.Module._resolveFilename (internal/modules/cjs/loader.js:649:15)

at Function.Module._load (internal/modules/cjs/loader.js:575:25)

at Module.require (internal/modules/cjs/loader.js:705:19)

at require (internal/modules/cjs/helpers.js:14:16)

at Object.<anonymous> (/Users/path/myproject/node_modules/@ngtools/webpack/src/ngcc_processor.js:10:16)

at Module._compile (internal/modules/cjs/loader.js:799:30)

at Object.Module._extensions..js (internal/modules/cjs/loader.js:810:10)

at Module.load (internal/modules/cjs/loader.js:666:32)

at tryModuleLoad (internal/modules/cjs/loader.js:606:12)

at Function.Module._load (internal/modules/cjs/loader.js:598:3)

at Module.require (internal/modules/cjs/loader.js:705:19)

at require (internal/modules/cjs/helpers.js:14:16)

at Object.<anonymous> (/Users/path/myproject/node_modules/@ngtools/webpack/src/angular_compiler_plugin.js:23:26)

at Module._compile (internal/modules/cjs/loader.js:799:30)

at Object.Module._extensions..js (internal/modules/cjs/loader.js:810:10)

at Module.load (internal/modules/cjs/loader.js:666:32)

voici mon package.json

{
  "name": "myproject",
  "version": "0.0.0",
  "scripts": {
    "ng": "ng",
    "start": "ng serve",
    "build": "ng build",
    "test": "ng test",
    "lint": "ng lint",
    "e2e": "ng e2e"
  },
  "private": true,
  "dependencies": {
    "@angular/animations": "~7.0.0",
    "@angular/cdk": "7.3.7",
    "@angular/common": "~7.0.0",
    "@angular/compiler": "~7.0.0",
    "@angular/core": "~7.0.0",
    "@angular/forms": "~7.0.0",
    "@angular/http": "~7.0.0",
    "@angular/material": "^7.3.7",
    "@angular/platform-browser": "~7.0.0",
    "@angular/platform-browser-dynamic": "~7.0.0",
    "@angular/router": "~7.0.0",
    "angular": "^1.7.8",
    "bootstrap": "^4.3.1",
    "core-js": "^2.5.4",
    "font-awesome": "^4.7.0",
    "hammerjs": "^2.0.8",
    "jquery": "1.9.1",
    "ngx-gallery": "^5.9.1",
    "popper.js": "^2.0.0-next.4",
    "rxjs": "~6.3.3",
    "zone.js": "~0.8.26"
  },
  "devDependencies": {
    "@angular-devkit/build-angular": "^0.800.1",
    "@angular/cli": "^8.0.1",
    "@angular/compiler-cli": "~7.0.0",
    "@angular/language-service": "~7.0.0",
    "@types/jasmine": "~2.8.8",
    "@types/jasminewd2": "~2.0.3",
    "@types/node": "~8.9.4",
    "codelyzer": "~4.5.0",
    "jasmine-core": "~2.99.1",
    "jasmine-spec-reporter": "~4.2.1",
    "karma": "~3.0.0",
    "karma-chrome-launcher": "~2.2.0",
    "karma-coverage-istanbul-reporter": "~2.0.1",
    "karma-jasmine": "~1.1.2",
    "karma-jasmine-html-reporter": "^0.2.2",
    "protractor": "~5.4.0",
    "ts-node": "~7.0.0",
    "tslint": "~5.11.0",
    "TypeScript": "~3.1.1"
  }
}
23
JSmith

Dans votre fichier package.json, remplacez la version @ angular/cli dans devDependencies par:

"@angular/cli": "7.1.0"

Il existe une incompatibilité de version entre votre projet et la devDependency. Vous avez probablement utilisé npm audit fix --force ou une commande de mise à jour automatique similaire, qui pourrait avoir mis à jour les devDependencies dans le fichier "package.json".

Vous pouvez également utiliser angular cli version 7.3.5 dans devDependencies ici. Assurez-vous simplement que la version de développement et la version mentionnée dans devDependencies sont compatibles. Soyez conscient que la version locale anglular/cli ne fonctionne pas vraiment d'importance ici.

Mise à jour: Après avoir effectué la modification, supprimez "package-lock.json" et supprimez le dossier "modules de nœuds". Courir npm install pour réinstaller les modules.

17
Siva Kiran

J'ai eu la même erreur et j'ai résolu cela en mettant à jour @ angular/cli global. comme:

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

puis essayé de créer une nouvelle application et copié certaines dépendances du fichier package.json dans le projet en cours car npm install n'installe pas la dernière version des packages. puis

npm install

cela a résolu mon problème mais j'ai trouvé cette réponse: mise à jour angulaire

5
Sabuhi Nazarov

Tout cela ne fonctionne pas pour moi, j'essayais de passer de Angular 7 à Angular 8 et voici la solution de travail pour moi:

  1. npm obsolète.
  2. mise à jour npm.
  3. npm install -g npm-check.
  4. npm-check -u --saut-inutilisé.
  5. Mettez à niveau tous les packages obsolètes, à l'exception de ceux de Sass à l'aide de npm-check.
  6. mise à jour npm.
  7. Si vous avez ViewChild sur votre application, assurez-vous de les modifier en @ViewChild(<name>, {static: true}).
2
Marzouk

J'espère que cela résoudra les problèmes liés à votre installation

ng update @angular/cli @angular/core
1
Sameer