[英]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.