2020年3月12日 星期四

angular - 版更9以後無法順利 npm publish --Trying to publish a package that has been compiled by Ivy. This is not allowed

簡介

最近因為將專案更新到 Angular 9.0.5 版本,原先所開發的模組 (library) 也一併更新。
但不知道為何專案更新版本之後,build 出來的模組都沒辦法正常發佈到 npm server
情形如下:
執行

    npm publish 

出現錯誤並且無法順利發佈
ERROR: Trying to publish a package that has been compiled by Ivy. This is not allowed.
Please delete and rebuild the package, without compiling with Ivy, before attempting to publish.


看起來是 npm 禁止發佈 ivy 編譯的模組。
至於是什麼原因,我目前不太清楚。
所以在編譯 library 時候必須禁用 ivy 或加上 --prod
而我不想禁用 ivy 編譯,所以我選擇以下加上 --prod 的編譯方式。


原本

    ng build mylib

改成

    ng build mylib --prod


如此再進行 npm publish 就可以正常發佈了。


沒有留言:

張貼留言