我有一个要求方面的问题,希望您能为我提供帮助。
我有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”类型。 如果存在,请尝试
的新声明(.d.ts)文件。npm install @types/mysql
或添加一个包含declare module 'mysql';
4从“ mysql”将*作为mysql导入;
显然是在Ceberus中寻找mysql的类型,但是它们不存在,为什么?
编辑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
中,以避免出现您遇到的问题。