错误:检测到AotPlugin但它是错误类的实例

时间:2017-07-31 07:16:05

标签: angularjs node.js

问题

  

ng serve

     

模块构建失败:错误:检测到AotPlugin,但它是错误类的实例。

完整错误报告日志

  ERROR in ./src/main.ts
  Module build failed: Error: AotPlugin 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 
 (D:\testingapp\node_modules\@ngtools\webpack\src\loader.js:358:19)
  @ multi webpack-dev-server/client?http://localhost:4200 ./src/main.ts
  

npm ls @ ngtools / webpack

testingapp@0.0.0 D:\testingapp
 +-- @angular/cli@1.2.6
 | `-- @ngtools/webpack@1.5.5
`-- angular-cli@1.0.0-beta.28.3
 `-- @ngtools/webpack@1.5.1
  

npm cache verify

仍然存在问题。

  • 欢迎提出任何建议。

4 个答案:

答案 0 :(得分:6)

在运行ng eject并尝试运行我的业力测试后,我遇到了这个问题。

即使我不认为这是一个最佳解决方案,我通过以下方式解决了这个问题:

  1. 删除@ngtools/webpack

    $ npm remove --save @ ngtools / webpack

  2. 在我的webpack.config.js中要求@ngtools/webpack@angular/cli的子依赖关系

    // webpack.config.js
       //
     // Other require statements
     const { AotPlugin } = 
    require('./node_modules/@angular/cli/node_modules/@ngtools/webpack');
    

    / *     *更改装载机    / *

      module.exports = {
        // ...
    
         "module": {
        "rules": {
         // ...
          {
          "test": /\.ts$/,
          /* REMOVE: "loader": "@ngtools/webpack", */
          "loader": 
            "./node_modules/@angular/cli/node_modules/@ngtools/webpack"
              }
         }
         // ...
         }
         }
    

答案 1 :(得分:2)

我最近遇到了类似的问题,不同版本@ angular / cli @ 1.4.9和@ ngtools / webpack @ 1.7.4

├─┬ @angular/cli@1.4.9
│ └── @ngtools/webpack@1.7.4
└── @ngtools/webpack@1.7.4

以下代码可与https://github.com/angular/angular-cli/wiki/stories-1.0-update

中的说明一起找到
npm uninstall -g angular-cli
npm uninstall --save-dev angular-cli

npm uninstall -g @angular/cli
npm uninstall --save-dev @angular/cli 

rm -rf node_modules dist
npm cache clean

npm install -g @angular/cli@latest
npm install --save-dev @angular/cli@latest
npm install   

答案 2 :(得分:1)

我遇到了同样的问题,现在已修好了。

首先使用ng -v检查所有依赖项的版本,并检查其他工作应用程序的相同版本,您肯定会得到一些版本差异,因此请尝试降级/升级到工作版。

在我的情况下,我安装了节点8,这导致了同样的问题。通过简单地通过nvm降级解决了我的问题。

how to install nvm link one

how to install nvm link two

您可以按照其中一个链接安装nvm

答案 3 :(得分:1)

我有同样的错误。刚刚更新了angular-cli并进行了npm更新,一切都很好。

我开始怀疑更新angular-cli是“你试过再次打开和关闭它”的持续等效吗? ;)