web-dev-qa-db-fra.com

CLI angulaire me donne "TypeError: callbacks [i] n'est pas une fonction" quand je "ng servir"

Je viens littéralement de faire une nouvelle installation de la CLI angulaire pour pouvoir l'essayer et je n'ai aucune idée de ce qui cause l'erreur suivante sur la ligne de commande:

    PC:cobros Fran$ ng serve
** NG Live Development Server is listening on localhost:4200, open your browser on http://localhost:4200/ **
 95% emitting/Users/Fran/Documents/Workspace/Repos/cobros/node_modules/enhanced-resolve/lib/CachedInputFileSystem.js:40
        callbacks[i](err, result);
                    ^

TypeError: callbacks[i] is not a function
    at Storage.finished (/Users/Fran/Documents/Workspace/Repos/cobros/node_modules/enhanced-resolve/lib/CachedInputFileSystem.js:40:15)
    at /Users/Fran/Documents/Workspace/Repos/cobros/node_modules/enhanced-resolve/lib/CachedInputFileSystem.js:77:9
    at /Users/Fran/Documents/Workspace/Repos/cobros/node_modules/graceful-fs/polyfills.js:287:18
    at FSReqWrap.oncomplete (fs.js:153:5)

Voici les informations qui me sont retournées lorsque j'essaie "ng -v" (dans le cas où cela soit utile):

Angular CLI: 1.6.8
Node: 8.9.0
OS: darwin x64
Angular: 5.2.4
... animations, common, compiler, compiler-cli, core, forms
... http, language-service, platform-browser
... platform-browser-dynamic, router

@angular/cli: 1.6.8
@angular-devkit/build-optimizer: 0.0.42
@angular-devkit/core: 0.0.29
@angular-devkit/schematics: 0.0.52
@ngtools/json-schema: 1.1.0
@ngtools/webpack: 1.9.8
@schematics/angular: 0.1.17
TypeScript: 2.5.3
webpack: 3.10.0

Que fait même le module 'Enhanced-Resolution'??. Est-ce que j'ai mal installé Angular? J'ai suivi les instructions de https://github.com/angular/angular-cli et je me suis assuré de remplir les conditions préalables.

43
Fran Roura

EDIT: Le problème est maintenant résolu, il n’est donc plus nécessaire d’utiliser cette solution de contournement.


Solution (solution de contournement) trouvée ici

Ajoutez "copy-webpack-plugin": "4.3.0" à votre package.json

Merci @neshkatrapati

30
Rafa Garés

J'ai eu le même problème et cette commande m'a fait un miracle 

npm install [email protected]
7
Daniel Chikaka

Ce problème devrait maintenant être résolu avec la v4.4.1 publiée tout à l'heure. https://github.com/webpack-contrib/copy-webpack-plugin/releases/tag/v4.4.1

5
Tarang

EDIT: le problème est maintenant corrigé, il n'est donc plus nécessaire d'utiliser cette solution de contournement.


Cela se produit après la mise à niveau de @angular/cli à 1.6.8.

Solution: le problème est avec copy-webpack-plugin ( https://github.com/webpack-contrib/copy-webpack-plugin/issues/217 ) npm i [email protected] --save-dev aide

NOTE: La solution précédemment proposée consistait à rétrograder cli à 1.6.7, ce qui n'aide pas.

5
Skorunka František

Comme indiqué ici https://github.com/angular/angular-cli/issues/9550 c'est un problème avec copy-webpack-plugin.

Il peut être résolu en faisant npm install [email protected]

1
kikus

Modifier

Il suffit d'exécuter yarn upgrade.

Une version de copy_webpack_plugin corrigeant le bogue (4.4.1) est donc apparue, vous devriez donc la préférer à la résolution de ce problème. Avec npm, npm --depth 9999 update devrait faire l'affaire pour mettre à jour toutes les dépendances de manière récursive.

En ce qui concerne l'argument depth pour la mise à jour de npm:

À partir de [email protected], la mise à jour de npm inspectera uniquement les packages de niveau supérieur. Les versions précédentes de npm inspectaient également de manière récursive toutes les dépendances. Pour obtenir l'ancien comportement, utilisez npm --depth 9999 update

Réponse originale ci-dessous:

Solution

rm -rf node_modules package-lock.json
npm i [email protected] -E -O
npm i

Explication :

  • On enlève node_modules et lockfile
  • Nous spécifions copy_webpack_plugin uniquement en tant que dépendance entre pairs (option -O) et avec une version exacte (option -E)
  • Nous installons node_modules
0
Michael P. Bazos

si npm install, [email protected] ne vous aide pas essayez d'ajouter add dans package.json 

"optionalDependencies": { "copy-webpack-plugin": "4.3.1" }, "résolutions": { "copy-webpack-plugin": "4.3.1" }

Essayez cette commande -> npm install [email protected] a résolu mon problème. 

0
chhaya Joshi

Suite à github.com/angular/angular-cli/issues/9550 (merci @oers pour le lien dans les commentaires)

Je viens de déclasser Anuglar CLI à la version 1.6.7.

Pour ce faire, il suffit de taper

npm uninstall -g @angular/cli

Et une fois l'installation terminée, installez une version précédente 

npm install -g @angular/[email protected]

NOTE: Cela fonctionnera mais ce n’est qu’une solution temporaire, ils ont probablement - et espérons-le - résolu le correctif.

EDIT: En fait, j'ai essayé le mauvais projet qui n'utilisait pas CLI, j'ai réessayé et cela ne fonctionne pas. Si vous suivez le fil de discussion github, cela ressemble à un gros problème, car cela ne fonctionne pas. avec CLI 1.5.x ni 1.6.x (n'a pas essayé avec les autres). Il semble que la seule chose que nous puissions faire en ATM est de déboguer ou d’attendre. 

OOPS!

0
Mese