我有下一个结构:
- @my/app
- 节点模块
- @类型/角度
- @类型/角度平移
- @我的/图书馆
- 节点模块
- @类型/角度
- 节点模块
- 节点模块
问题是@types/angular-translate
通过声明合并扩展了@types/angular
的定义。
另一方面,@my/app
和@my/library
似乎在某种程度上使用了不同版本的@types/angular
,即使我在比较两个package.json时找不到区别。这就是为什么@my/library
有自己的node_module和@types/angular
。但是,由于它没有自己的@types/angular-translate
,没有人将角度转换类型添加到角度名称空间,我得到了下一个错误:
import {
animate
} from "angular";
TS2305:模块'@my/app/nod_modules/@my/library/nod_modules/@types/angular"'没有导出的成员"翻译">
正如我所说,我发现@my/app
和@my/library
的版本之间没有差异。可能出了什么问题?我有更多级别的嵌套库,这些库使用@types/angular
的另一个版本。
我仍然不能100%理解它,但似乎是嵌套的@types/angular
依赖关系的不同版本导致了@types/angular
在@my/library/node_modules
中的安装。
我已经在我的库之间同步了@types/angular
的所有版本,但它不起作用。
在media上阅读了这篇文章后,我想必须按照npm保持的安装顺序来解析依赖关系树。