web-dev-qa-db-fra.com

Erreur: AotPlugin a été détecté mais c'était une instance de la mauvaise classe

problème 

ng servir

Échec de la construction du module: Erreur: AotPlugin a été détecté mais il s’agissait d’une instance de la mauvaise classe.

Journal complet des rapports d'erreur

  ERROR in ./src/main.ts
  Module build failed: Error: AotPlugin was detected but it was an instance of the wrong class.
  This likely means you have several @ngtools/webpack packages installed. You can check this with `npm ls @ngtools/webpack`, and then remove the extra copies.
  at Object.ngcLoader 
 (D:\testingapp\node_modules\@ngtools\webpack\src\loader.js:358:19)
  @ multi webpack-dev-server/client?http://localhost:4200 ./src/main.ts

npm ls @ ngtools/webpack

[email protected] D:\testingapp
 +-- @angular/[email protected]
 | `-- @ngtools/[email protected]
`-- [email protected]
 `-- @ngtools/[email protected]

npm cache verify

le problème existe toujours.

  • toute suggestion est la bienvenue.
7
afeef

Ce problème s'est produit pour moi après avoir exécuté ng eject et essayé d'exécuter mes tests de karma. 

Même si je ne pense pas que ce soit une solution optimale, j'ai résolu le problème en:

  1. Supprimer @ngtools/webpack

    $ npm remove --save @ ngtools/webpack

  2. Exiger le @ngtools/webpack qui est une dépendance enfant de @angular/cli dans mon webpack.config.js

    // webpack.config.js
       //
     // Other require statements
     const { AotPlugin } = 
    require('./node_modules/@angular/cli/node_modules/@ngtools/webpack');
    

    / * * Changer le chargeur /* 

      module.exports = {
        // ...
    
         "module": {
        "rules": {
         // ...
          {
          "test": /\.ts$/,
          /* REMOVE: "loader": "@ngtools/webpack", */
          "loader": 
            "./node_modules/@angular/cli/node_modules/@ngtools/webpack"
              }
         }
         // ...
         }
         }
    
6
fourcube

J'ai récemment eu un problème similaire avec une version différente @ angular/cli @ 1.4.9 et @ ngtools/webpack @ 1.7.4

├─┬ @angular/[email protected]
│ └── @ngtools/[email protected]
└── @ngtools/[email protected]

Le code ci-dessous peut être trouvé avec les instructions à https://github.com/angular/angular-cli/wiki/stories-1.0-update

npm uninstall -g angular-cli
npm uninstall --save-dev angular-cli

npm uninstall -g @angular/cli
npm uninstall --save-dev @angular/cli 

rm -rf node_modules dist
npm cache clean

npm install -g @angular/cli@latest
npm install --save-dev @angular/cli@latest
npm install   
2
Damo

J'ai eu le même problème et son résolu maintenant.

Commencez par vérifier les versions de toutes vos dépendances à l’aide de ng -v, et vérifiez-les également pour les autres applications actives. Vous obtiendrez sûrement des différences de version. Essayez donc de rétrograder/mettre à niveau vers celles qui fonctionnent.

Dans mon cas, j'avais le noeud 8 installé, ce qui causait le même problème. En rétrogradant simplement via NVM, j'ai résolu mon problème.

comment installer nvm link one

comment installer nvm link two

vous pouvez suivre l’un des liens pour installer nvm

1
Sunil Kumar

J'ai eu la même erreur. Je viens de mettre à jour angular-cli et de faire une mise à jour de npm et tout va bien.

Je commence à soupçonner que la mise à jour de angular-cli équivaut à "avez-vous essayé de l'activer et de le désactiver à nouveau?" ;)

1
epiphanatic