i18n Angular,创建翻译文件时出错

i18n Angular, error by creating translation files

在我的应用程序中,一切正常,我可以毫无错误地执行每个组件或函数,所以在终端中,就像在浏览器的开发人员控制台中一样。我尝试通过以下命令安装 i18n 国际化:

ng xi18n --output-path src/locale

文件正确创建了自己,但我看到了这个奇怪的错误。

Cannot assign to read only property '_showWarnings' of object '#<Object>'
TypeError: Cannot assign to read only property '_showWarnings' of object '#<Object>'
    at TapSubscriber._visitJsonRecursive.pipe.operators_1.tap.x [as _tapNext] (C:\Users\myname\Documents\Projekt\myProjekt\node_modules\@angular-devkit\core\src\json\schema\visitor.js:56:210)

为什么?我该如何解决?

这也发生在我身上。在我升级数据包 angular-devkit/build-angular 之后。在版本 0.803.2 上它工作得很好。由于 npm audit 警告我有关漏洞,我将此数据包更新为版本 0.803.23。这会导致您所描述的错误。

我还没有找到合适的解决方案,但目前以下解决方法可以解决问题:

删除您的 node_modules 文件夹,降级数据包,运行 npm install,运行 ng xi18n --output-path src/locale 并将更改删除 npm-shrinkwrap.json 和再次package.json

编辑

将所有与@angular 相关的软件包更新到最新的 8.x 版本解决了我的问题。