如何处理不同版本的依赖项?

时间:2018-06-12 06:31:37

标签: build dependencies development-environment cppcheck asn1

我有一个make文件项目,它使用了cppcheckasn1c等多种工具。有几个开发人员在他们的本地自定义Linux机器上使用这个项目。问题是,每台Linux机器都有不同版本的所需工具。例如,一个开发人员有cppcheck 1.8,另一个开发人员安装了1.6。现在我遇到了麻烦,因为不同版本的工具有不同的行为。例如,一些开发人员通过cppcheck成功运行,而另一些则没有。

所以我问如何处理不同版本的依赖项?

我有一些想法:

  1. 在运行构建过程本身之前,将工具的源代码添加到项目中并编译工具。
  2. 静态编译工具并将二进制文件添加到项目中。因此,每个开发人员都会使用完全相同的二进制文件。
  3. 为每个开发人员提供虚拟机或远程访问权限。因此,每个人都使用相同的环境
  4. 指示所有Linux开发人员使用的开发人员并使他们的系统保持最新状态。

1 个答案:

答案 0 :(得分:2)

设置专用服务器,以便在将构建提交到版本控制系统后对其进行处理。

通过这种方式,您可以确保它们都使用相同的版本,您可以使用不同的库集来设置多个构建服务器,以针对不同版本的依赖项或操作系统进行检查。

这是一个非常常见的软件开发设置。

请参阅此SO帖子,了解其背后的基本原理:https://stackoverflow.com/a/1099146/2186184