回调已被称为角度cli

Aya*_*ziz 8 webpack angular-cli angular5

我更新了我的angular-cli然后我在ng服务中出错了

 Callback was already called.
at throwError (node_modules\neo-async\async.js:14:11)
at node_modules\neo-async\async.js:2805:7
at _combinedTickCallback (internal/process/next_tick.js:131:7)
at process._tickCallback (internal/process/next_tick.js:180:9)
Run Code Online (Sandbox Code Playgroud)

这是我的项目包的版本:

Angular CLI: 6.0.7
Node: 8.9.4
OS: win32 x64
Angular: 5.0.1

Package                           Version
-----------------------------------------------------------
@angular-devkit/architect         0.6.7
@angular-devkit/build-angular     0.6.7
@angular-devkit/build-optimizer   0.6.7
@angular-devkit/core              0.6.7
@angular-devkit/schematics        0.6.7
@angular/cdk                      5.2.4
@angular/cli                      6.0.7
@angular/material                 5.2.4
@angular/platform-server          5.1.1
@ngtools/webpack                  6.0.7
@schematics/angular               0.6.7
@schematics/update                0.6.7
rxjs                              5.5.2
typescript                        2.4.2
webpack                           4.4.1
Run Code Online (Sandbox Code Playgroud)

我试图删除节点模块然后重新安装但仍然有相同的错误...任何建议?

小智 15

我有一个类似的问题,并通过这个讨论找到了解决方案:

https://github.com/angular/angular-cli/issues/6417

这似乎是更新到Angular 6时触发的问题.

第一次运行:

sudo npm ls webpack
Run Code Online (Sandbox Code Playgroud)

如果它返回多个webpack版本,那就是你的问题所在:

??? @angular-devkit/build-angular@0.6.8
? ??? webpack@4.8.3 
??? webpack@4.17.1 
Run Code Online (Sandbox Code Playgroud)

除非你在其他地方需要它,否则你只需要webpack在@ angular-devkit/build-angular中.

我还用@latest更新了所有@ angular-devkit/*.

一旦明确有多个版本,我做了以下工作以使其再次运行:

sudo npm uninstall --save-dev webpack
sudo npm ls webpack
sudo npm cache verify
Run Code Online (Sandbox Code Playgroud)

我试图找到解决方案时已经卸载了@ angular-devkit/build-angular.所以我在做任何其他事情之前把它重新插入.它似乎有自己的webpack版本.如果您已经拥有它,只需更新它.

请注意,我没有重新安装webpack sudo npm i webpack.无论我怎样尝试它,它都不喜欢这样.

sudo npm install @angular-devkit/build-angular@latest
sudo npm ls webpack
Run Code Online (Sandbox Code Playgroud)

一旦只有一个版本的webpack,ng serve应该再次工作,没有错误.

PS peterpeterparker建议的替代修复帮助我找到了这个解决方案.请注意,我没有尝试过,但认为它可能会有所帮助.

peterpeterparker的解决方法:

 npm remove webpack --save
 rm -r node_modules
 rm package-lock.json
 npm install
Run Code Online (Sandbox Code Playgroud)

PPS Sudo仅适用于mac.我添加了它以便于复制和粘贴我的解决方案.如果您不需要,请不要复制它.