从Angular 12.0.4升级到Angular 12.1.0会产生运行时错误,恢复到12.0.4编译错误



这里发布了一个有点相关的问题:Angular:TypeError:无法读取属性';firstCreatePass';空的

但这涉及到不同的Angular版本,那里的解决方案对我没有帮助。常见的运行时错误是:

无法读取空的属性"firstCreatePass">

另一个可能的区别是我正在尝试创建一个Angular库。你应该禁用Ivy来构建库,所以我想知道这是否是问题的一部分,但启用或禁用Ivy都会发生错误。

如果我恢复到12.0.4,我就无法编译。。。在两个macOS系统之一上。12.0.4在我的笔记本电脑上运行良好,在我的台式机上则不然。编译错误为:

错误:/Users/ksetline/proprogramming_projects/npm packages/tubular_ng-widgets/node_modules/@angular/common/common.d.ts中声明的Symbol CommonModule未从@angular/common 导出

我已经在两台计算机之间同步了@angular/cli和npm以及node的版本,所以我不知道为什么一台可以用12.0.4编译,而另一台不能。我已经多次完全抛弃node_modules和package-lock.json。

我不知道我的代码中是否有任何一个特别相关的部分可以发布在这里提供帮助,但完整的项目可以在这里找到:https://github.com/kshetline/tubular_ng-widgets

我遇到了同样的问题-";preserveSymlinks";设置为";真";在angular.json构建部分为我修复了这个问题。

我使用npm链接是为了在场景中测试/开发额外的包。

问题似乎是节点和/或npm环境损坏。

作为一个实验,我使用Angular 12.0.4复制了整个项目,从它在笔记本电脑上工作的地方复制到它在桌面上不工作的地方,包括非常大且复制速度缓慢的node_modules文件夹,而不是允许node_module由我的桌面系统重建。

这个项目运行得很好。

因此,我留出了工作node_modules目录和相应的package-lock.json.

我从destop、所有代码和缓存中完全清除了node、npm和nvm。然后我重新安装了NodeJS 14.17.1,并在那之后更新了npm。

在新的node/npm环境下,项目重建并在本地运行,没有出现任何问题。在那之后,我也能够毫无问题地更新到Angular 12.1.0。

我没想到node和/或npm会以如此混乱的方式搞砸这么多!

我也遇到了同样的编译错误,我使用的是npm链接,我的问题不见了:

paths: [
"@angular/*": ["./node_modules/@angular/*"]
]

在tsconfig中,使应用程序和库都使用相同的已安装angular包。

最新更新