我正在.pkg
为需要 NodeJS 的产品构建 OS X 安装程序。
我正在尝试将官方 NodeJS pkg 安装程序作为我的安装程序的组件包嵌入的可能性。
我下载了官方的 pkgpackages/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
's 之间的依赖关系。