.pkg
NodeJS を必要とする製品の OS Xインストーラーを作成しています。
公式の NodeJS pkg インストーラーをインストーラーのコンポーネント パッケージとして埋め込む可能性を試しています。
公式の 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
packages/node.pkg
何らかの理由で存在しない可能性を破棄しました(おそらく pkg を別の場所にダウンロードしました)。
$ file packages/node.pkg
packages/node.pkg: xar archive - version 1
私は何が欠けていますか?
製品パッケージを自分の製品パッケージの構成パッケージとして使おうとしているからでしょうか?
別の可能性はinstaller
、パッケージ スクリプト内で実行してインストールすることですが、 間の依存関係を表現するより良い方法があるかどうか疑問に思っていpkg
ます。