Проблема с разрешением разрешения npm из пакета, требующего третьей зависимости - PullRequest
0 голосов
/ 16 октября 2018

У меня проблема с требованием, надеюсь, вы мне поможете.

У меня есть 1 пакет с именем @unicoderns/orm, для которого требуется mysql https://github.com/unicoderns/ORM

Теперь я пытаюсь кодировать другойПакет OpenSource с именем @unicoderns/cerberus, у Цербера есть зависимость orm, но когда я пытаюсь собрать цербер, я получаю эту ошибку:

node_modules/@unicoderns/orm/connection.d.ts: 4:24 - ошибка TS7016: не удалось найти файл объявления для модуля «mysql».«/home/chriss/Sites/cerberus/node_modules/mysql/index.js» неявно имеет тип «любой».Попробуйте npm install @types/mysql, если он существует, или добавьте файл нового объявления (.d.ts), содержащий declare module 'mysql';

4 import * как mysql из "mysql";

Очевидно,пытается найти типы mysql в Ceberus, но их не существует, почему?

Редактировать 1: опечатка

1 Ответ

0 голосов
/ 16 октября 2018

@unicoderns/orm перечисляет @types/mysql в его devDependencies, поэтому @types/mysql устанавливается при запуске npm install непосредственно в @unicoderns/orm, но не при запуске npm install в другом пакете, который зависит от @unicoderns/orm (например, @unicoderns/cerberus).Если @unicoderns/orm будет иметь файл объявлений, такой как connection.d.ts, который ссылается на объявления из @types/mysql и предназначен для загрузки зависимыми пакетами, то рекомендация состоит в том, чтобы поместить @types/mysql врегулярно dependencies из @unicoderns/orm, чтобы избежать проблемы, которую вы видели.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...