为什么PaaS提供程序建议在部署期间安装依赖项?(适用于PHP或NodeJ,可能还有其他)

为什么PaaS提供程序建议在部署期间安装依赖项?(适用于PHP或NodeJ,可能还有其他),php,node.js,heroku,paas,cloudcontrol,Php,Node.js,Heroku,Paas,Cloudcontrol,像Heroku、CloudControl或Exoscale这样的PaaS提供商使用git提供部署 推送源代码后,它们会自动下载nodeJS或PHP/Composer应用程序的依赖项。 为什么? 为什么我不在本地获取依赖项并将它们上载到PaaS提供程序,例如将它们包含在git存储库中 在执行git推送后下载依赖项/执行“节点安装”或“编写器安装”有什么好处 依赖项文件通常不应提交到版本控制中,因为保存它们的版本历史记录通常没有意义;因为它们可能是特定于操作系统或硬件的,并且它们显著增加了存储库的大

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

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

为什么我不在本地获取依赖项并将它们上载到PaaS提供程序,例如将它们包含在git存储库中


在执行git推送后下载依赖项/执行“节点安装”或“编写器安装”有什么好处

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

我想说,开发人员可以少走一步或几步:)这就是PaaS提供的—平台和依赖关系管理,您只需专注于应用程序开发。谢谢您的回答!平台依赖性可能是在PaaS提供者站点构建应用程序的主要原因。