Webpack 回调已被调用
我更新了angular cli,然后在ng serve中出错Webpack 回调已被调用,webpack,angular-cli,angular5,Webpack,Angular Cli,Angular5,我更新了angular cli,然后在ng serve中出错 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 (inte
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)
这是我的项目包的版本:
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
我试图删除节点模块,然后重新安装npm,但仍然有相同的错误。。。有什么建议吗?由于这次讨论,我遇到了类似的问题并找到了解决方案: 这似乎是更新到Angular 6时触发的问题 首次运行:
sudo npm ls webpack
如果它返回多个版本的webpack,那么问题就出在这里:
├─┬ @angular-devkit/build-angular@0.6.8
│ └── webpack@4.8.3
└── webpack@4.17.1
除非您在其他地方需要它,否则您只需要在@angular devkit/build angular中使用webpack
我还用@latest更新了@angular devkit/*的所有内容
一旦确定存在多个版本,我就执行以下操作以使其再次工作:
sudo npm uninstall --save-dev webpack
sudo npm ls webpack
sudo npm cache verify
为了找到解决方案,我卸载了@angular devkit/build angular。所以我在做其他事情之前把它插回去了。它似乎有自己版本的网页包。如果你已经有了它,只需更新它
请注意,我没有使用sudo npm I webpack
重新安装webpack。不管我怎么试,它都不喜欢那样
sudo npm install @angular-devkit/build-angular@latest
sudo npm ls webpack
一旦只有一个版本的webpack,ng-serve
应该可以正常工作
另外,彼得·帕克建议的另一种解决方案帮助我找到了这个解决方案。请注意,我还没有尝试过,但认为它可能会有所帮助
:
p.p.S.Sudo仅适用于mac。我添加它是为了便于复制和粘贴我的解决方案。如果您不需要,请不要复制它。如果从包中删除webpack.json对您不起作用: 在我的例子中,我只需要将以下依赖项更新为以下版本:“@angular devkit/core”、“@angular devkit/build angular”和“@angular devkit/schematics:”0.8.1“ 这样“@angular devkit/build angular”的版本与my package.json(4.18.0)中指定的网页包的版本相同
这意味着,如果您运行的npm ls webpack具有多个结果,则不必从项目中删除webpack,只需两个版本相同即可。发生此错误,因为兼容的webpack版本高于@angular devkit/build angular 解决方案:-npm更新@angular devkit/构建angular--保存开发
让我知道它是否有效我在尝试在Angular 8中添加延迟加载功能时遇到了这个问题
├─┬ @angular-devkit/build-angular@0.803.29
| └── webpack@4.39.2
└── webpack@4.41.1
我试图将@angular devkit/build angular更新为最新版本,但没有成功。许多新问题浮出水面。当我搬走的时候webpack@4.41.1,相同的问题“找不到模块网页包”。因此,我试图使网页版本相同。使用“npm安装”webpack@4.39.2'.
问题终于解决了。当我键入“npm ls webpack”时,只显示一个网页,构建工作正常
`-- @angular-devkit/build-angular@0.803.29
`-- webpack@4.39.2
`-- @angular-devkit/build-angular@0.803.29
`-- webpack@4.39.2