#node.js #git #build #git-submodules
Вопрос:
https://github.com/hyperbotauthor/chessopsnpmts
В этом проекте есть подмодуль git, который, в свою очередь, строится в соответствии со своим собственным package.json
сценарием сборки.
[submodule "chessground"]
path = chessground
url = https://github.com/ornicar/chessground
Однако, если я запускаю тот же сценарий сборки, когда импортирую его в свой проект в качестве подмодуля git, то сборка завершается ошибкой с загадочными сообщениями об ошибках о недостающих модулях, которые на самом деле не отсутствуют.
Я подозревал, что это как-то связано с модулями узлов родительского проекта, поэтому я переименовал папку модулей узлов родительского проекта на время сборки, и это удалось. Итак, теперь у меня есть сценарий сборки, который переименовывает, создает, а затем восстанавливает исходное имя папки модулей родительского узла.
"buildcg": "mv node_modules node_modules_ignore ; cd chessground amp;amp; yarn amp;amp; yarn dist amp;amp; cd .. ; mkdir vendor ; cp chessground/dist/chessground.js vendor ; printf 'nn// es exportnnexport { Chessground }n' >> vendor/chessground.js ; mv node_modules_ignore node_modules"
Зависит ли сборка, находящаяся в папке модуля git, от установленных модулей узла родительского проекта ( каждый модуль устанавливается локально в родительский проект )?
Комментарии:
1. Git не контролирует, использует ли кто-то его подмодули ненадлежащим образом. Похоже, что здесь дело обстоит именно так: тот, кто создал этот набор узловых модулей, запутал его и оставил это проблемой для вас. Но зависимости в целом сложны.
2. Спасибо за эти идеи. Действительно, это вряд ли будет проблемой подмодуля git. Скорее, это Node.js ( что также было тегом к вопросу ) проблема. В разрешении модуля Node.js может вернуться в родительскую папку и извлечь зависимости, которые не требуются подмодулю. Если я изменю имя папки модулей узла, то это нежелательное разрешение модуля не удастся. Просто догадываюсь.