Некоторые файлы не устанавливаются, когда мой пакет является вложенной зависимостью, даже если они устанавливаются, когда он добавляется как прямая зависимость - PullRequest
0 голосов
/ 12 февраля 2019

Мне нужно npm пакетов, один (скажем, «родительский») в зависимости от другого («дочерний»).В моем дочернем пакете есть несколько файлов .js, скажем main.js и other.js.Первый из них указан как main в package.json.

ребенка. Оба они должны быть включены в пакет.Когда я проверяю пакет, сгенерированный с npm pack, он выглядит нормально.Когда я добавляю опубликованный пакет как родительскую зависимость и проверяю его содержимое в parent/node_modules/, оба файла также присутствуют, как и ожидалось.Затем я публикую родительский объект в виде отдельного пакета, в котором дочерний элемент указан в качестве зависимости.

Однако, когда я затем запускаю новый проект с родительским объектом в качестве зависимости, а затем устанавливаю node_modules/client этого проекта, ясм main.js но не other.js!Это происходит независимо от того, устанавливаю ли я это через Yarn или npm.Что может быть причиной этого?

1 Ответ

0 голосов
/ 12 февраля 2019

Ну ... Была более глубокая причина, так что это, вероятно, никому не поможет, но на всякий случай.Проблема состояла в том, что другая версия этого пакета была установлена, когда это была вложенная зависимость.Причиной этого является то, что зависимость была предварительной версией, указанной как ^0.0.1-<commit hash>.Поскольку хэш коммита может начинаться с числа, у меня была более старая версия, хэш коммитации которой фактически начинался с большего числа, и, таким образом, заканчивал тем, что устанавливался, когда родительский указатель определял дочернюю зависимость с помощью каретки ^, но не когда я непосредственнодобавлена ​​дочерняя зависимость.

Указание точной версии в качестве зависимости в родительском решении решило проблему.

...