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



我有一个二进制文件,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二进制文件,除了它也在/usr/local/bin中留下foo.pkg

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

更新:

基于这个线程,我认为它会工作,如果我设置BundleIsRelocatable为假。但是我不知道这是怎么做到的。

当您传递--root时,它将获取该文件夹中的所有内容并将其放入包中。您正在构建的根目录中运行pkgbuild—看起来很可能您的桌面上有foo.pkg的副本,该副本是由早期运行的pkgbuild创建的。当您再次运行它时,旧的foo.pkg现在被内置到新包中。

--root指向目录,仅指向包含要打包的文件。

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

如果你还没有阅读手册页,你应该阅读一下。

相关内容

  • 没有找到相关文章

最新更新