据我了解,对于使用Composer的任何项目,部署到生产服务器的正确方法是不跟踪Git中的vendor
文件夹,而是在生产服务器上运行Composer并让它获取所有必要的包并为您填充vendor
文件夹。 首先,我说得对吗? (这可能听起来像个愚蠢的问题,但没有人明确向我说明这一点)
其次,我的生产服务器是一个廉价的共享托管环境,而不是一个闪亮昂贵的AWS或数字海洋盒,所以我无法在生产环境中安装Composer。尽管我喜欢用理想的方式做事,但我无法做到。这是跟踪Git中vendor
文件夹并以这种方式部署软件包的下一个最佳选择。那么在将来,如果我更灵活地升级到托管包,我可以停止跟踪vendor
文件夹并开始理想的方式吗?
答案 0 :(得分:2)
您对如何使用供应商地图的理解是正确的。
对于你的第二个问题,我只会选择你的解决方案作为最后的手段;它远非理想。您的存储库需要不断更新第三方更改。
在你的情况下,我更愿意:
这使您的存储库保持紧凑和可管理。您只需要将自己的更改提交到存储库。
如果在将来的任何时候,您可以在服务器上运行git,您可以继续使用存储库,而无需清除整个供应商地图。
答案 1 :(得分:-1)
是的,这就是人们通常使用作曲家的方式。
如果您在此服务器上拥有shell访问权限,则可以轻松使用composer。只需在repo中包含composer.phar,然后就可以在共享服务器上运行php composer.phar install
。
您可以从他们的网站(https://getcomposer.org/download/)获取最新作曲家。
如果您没有shell访问权限,那么您可以将供应商置于git中,但我宁愿通过FTP手动复制供应商,而不是将其存储在git中。 我假设,因为你在服务器端使用git,你有shell访问权限,而事实并非如此;)