从存储库中提取代码后,如何自动执行依赖项安装?

时间:2015-05-28 18:15:16

标签: version-control dependencies vagrant development-environment

我的同事和我开发了一个小型Python应用程序。我们使用Vagrant来设置开发环境。

假设我的同事在应用程序中引入了一项新功能。功能的实现需要一个新的python依赖(第三方包),依赖本身需要一些系统库。如果我没有仔细阅读所有提交的提交,我可能会错过,在运行项目之前必须安装一些系统库。

当然我们更新Vagrantfile以在配置期间安装此类非python依赖项,因此如果有人克隆项目的存储库并发布问题vagrant up,他将获得一个完全可用的开发环境,但是我是否要在现有环境中自动更新?

我们应该如何指出,添加了一个新的依赖项(python或non-python),我们需要通过触发一个特定的命令来安装它?

UPD 我可以尝试运行该应用程序,如果我遇到任何错误,这是重新设置我的流浪盒的标志,但是对我来说,手动测试功能并运行配置脚本似乎很乏味后

1 个答案:

答案 0 :(得分:4)

我也遇到了Ruby。我们使用Bundler,它是Ruby的依赖管理系统。如果我提取新代码,运行它并得到一些时髦的异常,说某个依赖项丢失,我只知道是时候从命令行bundle install了。解决问题的方法是一样的。如果您运行代码并获得错误,表示缺少依赖项,则对该异常的默认响应应该是命令行上的vagrant up,然后重试。

除此之外,向团队成员发送电子邮件,提供有关新的或更新的依赖关系的说明是一种很好的方法,特别是如果vagrant up不足以解决丢失或不正确的依赖关系。