2016-11-14 163 views
2

通過文檔頁面上的AOT教程去後,我試圖編譯角2 AOT和我收到以下錯誤角AOT在編譯失敗(一些具有角/編譯器,CLI)

"node_modules/.bin/ngc" -p tsconfig-aot.json 

TypeError: compiler.AnimationParser is not a constructor 
at Function.CodeGenerator.create (C:\Projects\NeilKellyClient4\node_modules\@angular\compiler-cli\src\codegen.js:108:400) 
at codegen (C:\Projects\NeilKellyClient4\node_modules\@angular\compiler-cli\src\main.js:7:36) 
at Object.main (C:\Projects\NeilKellyClient4\node_modules\@angular\tsc-wrapped\src\main.js:37:16) 
at Object.<anonymous> (C:\Projects\NeilKellyClient4\node_modules\@angular\compiler-cli\src\main.js:16:9) 
at Module._compile (module.js:570:32) 
at Object.Module._extensions..js (module.js:579:10) 
at Module.load (module.js:487:32) 
at tryModuleLoad (module.js:446:12) 
at Function.Module._load (module.js:438:3) 
at Module.runMain (module.js:604:10) 
Compilation failed 

我我在這一點上陷入困​​境。爲什麼angular/compiler-cli會拋出這個錯誤?

+0

我看到別人誰也有類似的錯誤,並從降級的2.2.1編譯器CLI - > 2.1.0。我做了同樣的事情,但現在我得到這個錯誤TypeError:無法讀取對象的未定義 屬性'AssetUrl'。 ' –

回答

1

正如你所說,它似乎是一個版本衝突。我遇到了同樣的問題,必須重新安裝該軟件包才能使用指定的版本。我會建議安裝發佈版本並重新運行,直到你得到你想要的。對於它的價值,我有同樣的錯誤,2.1.2爲我工作。

npm install @angular/[email protected] --save-dev 

至於爲什麼,我會猜測包的版本不同步。嘗試運行npm list --depth=0,看看是否有東西彈出。可能會暗示出什麼是重擊。

+0

是的,我最終再次嘗試使用角度2.2.0和編譯器CLi 2.2.0(就像現在的quickstart一樣),它工作。有些東西是關閉的版本我不知道雖然 –

+0

謝謝!我試着解決這個問題比我大5歲。將我的應用升級到2.2.0(角度+編譯器),發現了一個角度2錯誤,降低了角度,但將編譯器保持在2.2.0 ..並忘記了它...謝謝! – Spock

1

我擺脫它的方式是使用2.2.0的所有角度包,包括編譯器CLI。然後再次執行npm install以按照2.2.0重新加載所有程序包依賴關係,並且它工作正常。這裏是的package.json的一部分:

"dependencies": { 
    "@angular/common": "~2.2.0", 
    "@angular/compiler": "~2.2.0", 
    "@angular/compiler-cli": "^2.2.0", 
    "@angular/core": "~2.2.0", 
    "@angular/forms": "~2.2.0", 
    "@angular/http": "~2.2.0", 
    "@angular/platform-browser": "~2.2.0", 
    "@angular/platform-browser-dynamic": "~2.2.0", 
    "@angular/platform-server": "^2.2.0", 
    "@angular/router": "~3.2.0", 
    "@angular/upgrade": "~2.2.0",