我正在为一个需要NodeJS的产品构建一个OS X .pkg安装程序。
我正在试验将official NodeJS pkg installer作为我的安装程序的组件包嵌入的可能性。
我将官方包下载到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不存在的可能性(可能是我将包下载到了另一个位置):
$ file packages/node.pkg
packages/node.pkg: xar archive - version 1我遗漏了什么?
是因为我试图使用产品包作为我自己产品包的组件包吗?
另一种可能是在我的包脚本中运行installer来安装它,但是我想知道是否有更好的方法来表达pkg之间的依赖关系。
发布于 2015-03-30 14:32:46
它找不到node.js包。您应该使用正确的路径修改以下行:
<pkg-ref id="org.nodejs.pkg">node.pkg</pkg-ref>如果您已经将node.pkg捆绑在包中作为组件包,则应该使用以下内容:(请注意在包名称之前使用#)
<pkg-ref id="org.nodejs.pkg">#node.pkg</pkg-ref>如果你把node.pkg放在包之外(假设它单独出现在pkg的同一目录下),那么你可以使用相对路径:
<pkg-ref id="org.nodejs.pkg">node.pkg</pkg-ref>https://stackoverflow.com/questions/28898994
复制相似问题