我已经花了大约10个小时来解决这个错误:
ERROR in ./src/main.ts
Module build failed: Error: Angular Compiler 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. at Object.ngcLoader (C:\PRO\ANG\Cezar\CezarBot\Ajuro.Client\node_modules\@ngtools\webpack\src\loader.js:33:15)
ERROR in ./src/polyfills.ts
Module build failed: Error: Angular Compiler 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. at Object.ngcLoader (C:\PRO\ANG\Cezar\CezarBot\Ajuro.Client\node_modules\@ngtools\webpack\src\loader.js:33:15)
我添加了图片,因为它更易于识别。 为了解决这个问题,我更新了节点,重新安装了webpack,重新安装了@ angular / cli,@ ngtools / webpack,使用--force清除了缓存,运行npm install。 我还重新安装了全局@ angular / cli。
在某些时候,我最终在本地节点模块或%appdata%/ npm中使用了一个或没有@ ngtools / webpack版本。错误是相同的。
我认为这与@ ngtools / webpack无关 我该如何调查?
答案 0 :(得分:0)
我不会将回答标记为已接受。但是,这是我调查的结果:
错误是由Loader.js中未定义的angular_compiler_plugin_1引起的。 AngularCompilerPlugin ,正如我使用简单的JSON.Stringify(...)发现的那样。这可能是由于最近移除装饰器引起的。我没有降级模块,而是继续我所有的东西。
我在Loader.js:32中评论了失败的条件,以便找到真正的原因:
/* if (!(plugin instanceof angular_compiler_plugin_1.AngularCompilerPlugin) || !plugin.done) { .... */
第二个错误是
Node Sass找不到与您当前环境的绑定:具有Node.js 10.x的Windows 64位
因此,我卸载了 node-sass 模块,因为我并不需要它
在我找到合适的解决方案之前,该项目现在可以正常工作(有了这种临时解决方法)。