为什么PaaS提供商在部署期间build议使用Dependency安装? (对于PHP或NodeJS,可能还有其他的)

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

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

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

执行git push后执行“ node install ”或“ composer install ”有什么好处?

一般情况下,依赖文件不应该被委托进入版本控制,因为保留版本历史通常是没有意义的。 因为它们可能是操作系统或硬件特定的,它们会显着增加存储库的大小,使得许多操作变慢。 在构build过程中下载和构build依赖关系确保它们与生产运行时兼容,但是对于某些编程语言而言,这比其他课程更重要。 尽pipe如此,在git中包含依赖关系是有意义的。 例如,当应用程序紧密耦合到他们(甚至修改他们)。