繁体   English   中英

如何为我的二进制文件创建 a.pkg mac 安装程序?

[英]How can i create a .pkg mac installer for my binary?

我有一个二进制文件foo 使用vercel/pkg构建。

我想把它捆绑在 mac 的安装程序中; .pkg安装程序文件。

它应该在/usr/local/bin/foo中安装二进制文件。

试图:

$ cd Desktop // <--- foo binary is here
$ pkgbuild --identifier com.foo.pkg --install-location ./usr/local/bin/ --root ./ foo.pkg

这会在我的桌面上创建一个 .pkg 文件: foo.pkg 当我运行foo.pkg时,它会在/usr/local/bin中正确安装foo二进制文件,除了它还foo.pkg/usr/local/bin中。

如何使pkgbuild避免将foo.pkg留在/usr/local/bin中?


更新:

基于这个线程,我认为如果我将BundleIsRelocatable设置为 false 它将起作用。 但我无法弄清楚这是如何完成的。

当您通过--root时,它会获取该文件夹中的所有内容并将其烘焙到 package 中。您正在构建的根目录中运行pkgbuild - 您的桌面上很可能有foo.pkg的副本它是由先前运行的pkgbuild创建的。 当您再次运行它时,旧的foo.pkg现在已内置到新的 package 中。

相反,将--root指向包含您希望 package 的文件的目录。

否则,使用--analyze生成根目录的组件列表。 根据需要自定义 resulting.plist(指定要包含的文件和关联的选项),然后使用--component-plist将其反馈回pkgbuild

如果您还没有阅读手册页,则应该阅读。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM