为什么PaaS提供商建议在部署期间安装依赖关系?(对于PHP或NodeJS和可能其他)


Why do PaaS provider suggest Dependency installation during deployment? (for PHP or NodeJS and probably others)

像Heroku、CloudControl或Exoscale这样的PaaS提供商提供使用git的部署。

它们会在推送源代码后自动下载nodeJS或PHP/Composer应用程序的依赖项。为什么?

为什么我不能在本地获取我的依赖项并将它们上传到PaaS提供商,例如包括在git存储库中?

在执行git push后下载依赖/执行"node install" order "composer install"有什么好处?

依赖文件通常不应该提交到版本控制中,因为保存它们的版本历史记录通常没有意义;因为它们可能是特定于操作系统或硬件的,而且它们会显著增加存储库的大小,使许多操作变慢。在构建过程中下载和构建依赖项可以确保它们与生产运行时兼容,但这对某些编程语言来说当然不那么重要。尽管如此,在某些情况下,在git中包含依赖项是有意义的。例如,当应用程序与它们紧密耦合(甚至修改它们)时。