Angular5 にアップデートして「Metadata version mismatch for module」エラーが出た

まさに以下の記事どおりの事象に遭遇し、記事どおりの対応方法で修正できた話。

自分の場合は、

という状態で、Angular4 系のアプリにそうやって作ったライブラリを取り込んだところ、

ERROR in Error: Metadata version mismatch for module 【モジュールファイルパス】.ts, found version 3, expected 4

というエラーが出た。

確かに、AoT コンパイル時に生成される .metadata.json を見ると、先頭の方に "version":4 と記載があった。コレが "version":3 でないと、Angular4 系のアプリとしては不正、ということになるらしい。

だもんで、ひとまずは Angular4 系で動作するようにと、AoT コンパイル時に使用される @angular/compiler-cli のバージョンを下げておいた。