web-dev-qa-db-fra.com

Webpack multiple en configuration cli angulaire

J'essaie de faire des tests avec le karma mais j'ai une erreur: 

ERROR in ./src/test.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.

Quand j'exécute le cmd j'obtiens ce résultat: 

+-- @angular/[email protected]
| `-- @ngtools/[email protected]
`-- @ngtools/[email protected]

Dans mon package.json je n'ai que @ngtools/webpack": "^1.5.1

D'où vient ce 1.4.1? 

5
An-droid

J'ai vu ce problème à plusieurs reprises. Et auparavant, je venais de résoudre au hasard par accident. Et aujourd’hui, je viens de comprendre que ce message s’explique par le fait que la version @ angular/cli de votre "devDependencies" dans votre package.json ne correspond pas à celle de vos dépendances. Par exemple, après avoir exécuté npm ls @ngtools/webpack, le message suivant s'affiche: [email protected] /Users/jma/atom-web-accessibility ├─┬ @abot/[email protected] │ └─┬ @angular/[email protected] │ └── @ngtools/[email protected] └─┬ @angular/[email protected] └── @ngtools/[email protected]

Alors maintenant, je dois aller dans mon package.json, sous "devDependencies", changer le numéro de version "1.7.3" en "1.4.7". Ensuite, exécutez ce qui suit: rm -rf node_modules

rm -rf package-lock.json

npm cache clean -f

npm install

ng build

npm start

alors je vois webpack: Compiled successfully. 

tada !!!! J'espère que cela t'aides!

5
Jia Ma

Son venant de cli angulaire. Supprimez les années du paquet json. Installez les modules. Et ça va marcher.

4
alexKhymenko

Pour le supprimer des dépendances dans package.json, vous devez utiliser l'indicateur de sauvegarde:

npm uninstall --save webpack

Si vous avez installé le paquet en tant que "devDependency" (c'est-à-dire avec --save-dev), --save ne le supprimera pas de package.json. Vous devez utiliser --save-dev pour le désinstaller . Voici le résultat de la commande ci-dessus.

$ npm ls @ngtools/webpack
[email protected] C:\Apache24\htdocs\angularapp
+-- @angular-devkit/[email protected]
| `-- @ngtools/[email protected]
`-- @ngtools/[email protected]

$ npm uninstall --save webpack
> [email protected] install C:\Apache24\htdocs\angularapp\node_modules\node-sass
> node scripts/install.js

Cached binary found at C:\Users\user\AppData\Roaming\npm-cache\node-sass\4.9.3\win32-x64-59_binding.node

> [email protected] postinstall C:\Apache24\htdocs\angularapp\node_modules\node-sass
> node scripts/build.js

Binary found at C:\Apache24\htdocs\angularapp\node_modules\node-sass\vendor\win32-x64-59\binding.node
Testing binary
Binary is fine
added 1106 packages in 677.641s

$ npm ls @ngtools/webpack
[email protected] C:\Apache24\htdocs\angularapp
`-- @angular-devkit/[email protected]
  `-- @ngtools/[email protected]
0
Nishanth ॐ