【发布时间】:2015-03-06 12:39:42
【问题描述】:
我正在为需要 NodeJS 的产品构建 OS X .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
我放弃了packages/node.pkg由于某种原因不存在的可能性(也许我将pkg下载到了另一个位置):
$ file packages/node.pkg
packages/node.pkg: xar archive - version 1
我错过了什么?
是不是因为我想把一个产品包作为自己产品包的组件包来使用?
另一种可能性是在我的包脚本中运行installer 来安装它,但是我想知道是否有更好的方法来表达pkg 之间的依赖关系。
【问题讨论】: