альпийский apk: рекурсивный список зависимостей для пакета

#dependency-management #alpine #package-managers

Вопрос:

Я хочу определить закрытие зависимостей для пакета, давайте использовать npm в качестве примера. Это включает пакеты, от которых зависит npm, а также их зависимости рекурсивно, пока мы не доберемся до листьев этого дерева зависимостей.

Я пытался apk add --simulate npm . В этом списке перечислены любые пакеты, которые apk в конечном итоге установит, если apk добавит nodejs, и это хорошо. Однако apk add --simulate не будет отображаться список пакетов, в которых уже установлена область. Мое решение нуждается в таких вещах, как musl и alpine-baselayout должно быть включено в качестве зависимостей.

Я тоже пытался apk dot npm . Здесь перечислены все пакеты и зависимости вплоть до корневого каталога. Однако некоторые зависимости имеют несколько поставщиков и apk dot включают в себя обоих. Например, apk dot npm включает в себя края для обоих nodejs и nodejs-current , хотя apk add установит только один из них. Как я могу узнать, какой поставщик apk выберет?

Есть ли способ попросить apk о таких вещах?