Я строю установщик OS X .pkg
для продукта, который требует NodeJS.Создание установщика .pkg, использующего другой продукт .pkg
Я экспериментирую с возможностью встраивания official NodeJS pkg installer в качестве компонентного пакета моего установщика.
Я скачал официальную PKG, чтобы packages/node.pkg
и изменил мой distribution.xml
выглядеть следующим образом:
...
<pkg-ref id="org.nodejs.pkg">node.pkg</pkg-ref>
<choices-outline>
<line choice="org.nodejs.pkg" />
</choices-outline>
<choice
id="org.nodejs.pkg"
visible="false"
title="nodejs"
description="NodeJS"
start_selected="true">
<pkg-ref id="org.nodejs.pkg" />
</choice>
...
Однако, когда здание с productbuild
:
productbuild --distribution distribution.xml \
--resources resources \
--package-path packages \
--version 0.2.3 \
setup.pkg
Я получаю следующее предупреждение:
productbuild: warning: package packages/node.pkg could not be loaded
I discarde d вероятность того, что packages/node.pkg
не может существовать какой-то причине (возможно, я скачал PKG в другое место):
$ file packages/node.pkg
packages/node.pkg: xar archive - version 1
Что мне не хватает?
Это потому, что я пытаюсь использовать пакет продукта как компонентный пакет своего собственного пакета продуктов?
Другая возможность - запустить installer
в моих сценариях пакета, чтобы установить его, однако мне интересно, есть ли способ выразить зависимости между pkg
.