来自软件包的npm分辨率解析问题,需要第三方依赖性

时间:2018-10-15 23:24:15

标签: mysql node.js typescript node-modules

我有一个要求方面的问题,希望您能为我提供帮助。

我有1个名为@unicoderns/orm的软件包,需要mysql https://github.com/unicoderns/ORM

现在,我正在尝试编写另一个名为@unicoderns/cerberus的开源软件包,cerberus将orm作为依赖项,但是当我尝试构建cerberus时,出现此错误:

  

node_modules/@unicoderns/orm/connection.d.ts:4:24-错误TS7016:找不到模块'mysql'的声明文件。 “ /home/chriss/Sites/cerberus/node_modules/mysql/index.js”隐式具有“ any”类型。     如果存在,请尝试npm install @types/mysql或添加一个包含declare module 'mysql';

的新声明(.d.ts)文件。      

4从“ mysql”将*作为mysql导入;

显然是在Ceberus中寻找mysql的类型,但是它们不存在,为什么?

编辑1:错字

1 个答案:

答案 0 :(得分:1)

@unicoderns/orm在其{{1}中列出了@types/mysql,因此在直接在devDependencies中运行@types/mysql时安装了npm install,但当您运行@unicoderns/orm时却没有安装npm install在依赖于@unicoderns/orm的另一个软件包(例如@unicoderns/cerberus)中运行@unicoderns/orm。如果connection.d.ts将具有一个声明文件,例如@types/mysql,该声明文件引用了@types/mysql的声明并打算由相关的软件包加载,则the recommendation将放入{{ 1}}中的dependencies的常规@unicoderns/orm中,以避免出现您遇到的问题。