我在构建 Angular Lib 项目时遇到错误:无法将类型实体 i10.BidiModule 解析为符号。还有另外 2 个库项目正在构建良好。这个新的 lib 项目在没有弹性布局和材料的情况下运行良好。但是当我在这个项目中使用柔性布局或材料时,我遇到了以下错误。我已经搜索了很多。有解决方案,例如在 tsconfig.lib.json 中包含
"preserveSymlinks": true
。不幸的是它不适合我。
欢迎对此提供任何帮助。
我今天遇到了同样的问题。我有一个 Angular 13 的库项目,在添加
@angular/flex-layout
作为依赖项后,我无法再构建与您完全相同的错误的库。
我通过将
@angular/cdk
添加为我的库的依赖项来解决这个问题。我在 Flex 布局 github 页面上找到了此信息,他们在“入门”部分中安装了这两个库。
我没有更改任何其他配置文件。
npm install @angular/cdk --save
我的团队在将 SyncFusion 模块添加到我们在 monorepo 中构建的一些共享项目时遇到了这个问题。经过多次绞尽脑汁并使用
@angular/cdk
和 preserveSymlinks
解决方案失败后,我对 tsconfig.json 进行了调整,使其对我有用:
"paths": {
"@syncfusion/*": [
"./node_modules/@syncfusion/*"
],
},
无论出于何种原因,Typescript 有时会对在我们的环境中在哪里找到某些包感到困惑。我们的 tsconfig
paths
部分实际上有一个可以解决问题的项目。叹息。
尝试“npm ls”,它将显示冲突的依赖关系,解决这些问题。这对我有用。
我遇到了这个问题,因为我必须在 monorepo 中的一个项目中安装一个库,并且在同步 monorepo 中的项目时,我遇到了同样的错误。
我最终通过使用包名称和版本更新 lib-export/package.json 的依赖项数组以及仅使用包名称的 allowedNonPeerDependency 数组解决了这个问题