Angular CLI me dá “TypeError: retornos de chamada não é uma function” quando eu “ng servir”

Eu literalmente acabei de fazer uma nova instalação do Angular CLI para testá-lo e não tenho a menor idéia do que está causando o seguinte erro na linha de comando:

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) 

Esta é a informação que recebo quando eu tento “ng -v” (caso seja útil):

 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 

O que o módulo ‘enhanced-resolve’ faz? Eu instalei o angular errado? Eu segui as instruções de https://github.com/angular/angular-cli e certifiquei-me de que preenchi os pré-requisitos.

EDIT: O problema agora está corrigido, então não há mais necessidade de usar essa solução alternativa.


Solução (solução alternativa) encontrada aqui

Adicione "copy-webpack-plugin": "4.3.0" ao seu pacote.json

Obrigado @neshkatrapati

Eu tive o mesmo problema e este comando fez milagre para mim

 npm install copy-webpack-plugin@4.3.1 

Este problema deve agora ser resolvido com a v4.4.1 lançada agora. https://github.com/webpack-contrib/copy-webpack-plugin/releases/tag/v4.4.1

EDIT : O problema agora está corrigido, então não há mais necessidade de usar essa solução alternativa.


Acontece depois de atualizar @angular/cli para 1.6.8 .

Solução : O problema é com o copy-webpack-plugin ( https://github.com/webpack-contrib/copy-webpack-plugin/issues/217 ) npm i copy-webpack-plugin@4.3.1 --save-dev ajuda

NOTA : A solução anterior oferecida era fazer o downgrade do cli para o 1.6.7, o que não ajuda.

Como dito aqui https://github.com/angular/angular-cli/issues/9550 é um problema com o copy-webpack-plugin.

Pode ser resolvido fazendo npm install copy-webpack-plugin@4.3.0

Seguindo github.com/angular/angular-cli/issues/9550 (obrigado @oers pelo link nos comentários)

Eu fiz o downgrade do Anuglar CLI para a versão 1.6.7.

Para fazer isso, basta digitar

npm uninstall -g @angular/cli

E assim que terminar, instale uma versão anterior

npm install -g @angular/cli@1.6.7

NOTA : Isso vai funcionar, mas é apenas uma solução temporária, eles provavelmente – e espero – consertar isso.

EDIT : Na verdade eu tentei o projeto errado que não estava usando o CLI, tentei de novo e não funciona, se você seguir o thread github, parece uma grande coisa, pois não funciona com o CLI 1.5.x nem 1.6.x (não tentei com os outros). Parece que a única coisa que podemos fazer o ATM é depurar ou sentar e esperar.

OOPS!

se o npm instalar copy-webpack-plugin@4.3.1 não ajuda a adicionar add no package.json:

“optionalDependencies”: {“copy-webpack-plugin”: “4.3.1”}, “resoluções”: {“copy-webpack-plugin”: “4.3.1”}

Editar

Apenas execute a yarn upgrade .

Houve uma versão do copy_webpack_plugin corrigindo o bug (4.4.1), então isso deve ser o preferido para resolver este problema. Com npm, o npm --depth 9999 update deve fazer o truque para atualizar todas as dependencies recursivamente.

Em relação ao argumento de profundidade para atualização do npm:

A partir de npm@2.6.1, a atualização do npm só inspecionará os pacotes de nível superior. Versões anteriores do npm também inspecionariam recursivamente todas as dependencies. Para obter o comportamento antigo, use a atualização npm –depth 9999

Resposta original abaixo:

Solução

 rm -rf node_modules package-lock.json npm i copy-webpack-plugin@4.3.1 -E -O npm i 

Explicação :

  • Nós removemos node_modules e lockfile
  • Nós especificamos o copy_webpack_plugin apenas como uma dependência peer (opção -O ) e com uma versão exata (opção -E )
  • Nós instalamos node_modules

Tente este comando -> npm install copy-webpack-plugin@4.3.0 resolveu meu problema

execute este comando npm install copy-webpack-plugin@4.3.0

retornos de chamada [i] (err, result); ^

TypeError: callbacks [i] não é uma function

solução: – npm install copy-webpack-plugin@4.3.0

Tente desinstalar e reinstalar o CLI Angular:

Pacote global:

npm uninstall -g @angular/cli npm cache clean if npm version is > 5 then use verificação do cache npm to avoid errors (or to avoid using --force) npm install -g @angular/cli@latest

Pacote de projeto local:

rm -rf node_modules dist # use rmdir /S/Q node_modules dist in Windows Command Prompt; use rm -r -fo node_modules,dist in Windows PowerShell npm install --save-dev @angular/cli@latest npm install