跨平台安装约定和最佳实践
Posted
技术标签:
【中文标题】跨平台安装约定和最佳实践【英文标题】:Cross platform installation conventions & best practices 【发布时间】:2014-06-03 15:25:06 【问题描述】:我管理一个开源项目,我们目前以压缩文件包的形式分发该项目。我们为 Windows 和 Mac 提供了一个捆绑包——我们目前希望 Linux 用户自己编译它。
这个程序带有一堆用户需要访问的辅助文件。其中包括用户需要能够轻松找到的示例文件和示例/默认脚本(如插件)(最好不要在 /usr/local/foo/examples/scripts 的迷宫中搜索)。
用户也将拥有自己的文件(他们可能希望将其存储在随机位置),但他们也将拥有自己的脚本集合(他们可能希望集中,以便始终可用)。
我想支持在用户无权干扰程序安装的多用户环境中安装。该程序将包括一个 API(共享库和标头)和一个 Python 包装器。最好能自动提供这些。
我们使用 CMake 构建项目 - 目前使用 CPack 捆绑 zip 文件。 CPack 的功能比我们目前使用的要多得多。这不是如何构建包/安装文件的机械问题,而是将所有东西放在哪里的约定问题?
我们希望在 MacOS 上有一个应用程序、一个适用于 Windows 的安装程序以及适用于 Linux 的软件包。 Mac 应用程序很好地封装了图标、字体、图像等,但它们似乎不能很好地支持用户可见的文件。
我希望有一种跨平台的标准方法来处理这种情况,但是我很难在各个平台上找到合适的示例。
除了压缩文件之外,我们还有什么更好的办法吗?
【问题讨论】:
【参考方案1】:提供这些额外文件的存档可能是最好的解决方案之一。您可以鼓励用户在第一次启动程序时下载它们 - 让用户自己决定他们想要它们的位置。
【讨论】:
以上是关于跨平台安装约定和最佳实践的主要内容,如果未能解决你的问题,请参考以下文章