gpt4 book ai didi

node.js - 创建使用另一个产品 .pkg 的 .pkg 安装程序

转载 作者:太空宇宙 更新时间:2023-11-03 22:36:06 28 4
gpt4 key购买 nike

我正在为需要 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之间的依赖关系.

最佳答案

它没有找到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>

关于node.js - 创建使用另一个产品 .pkg 的 .pkg 安装程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28898994/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com