繁体   English   中英

如果Composer无法安装在生产服务器上,可以在Git中跟踪供应商文件夹吗?

[英]If Composer cannot be installed on production server is it OK to track vendor folder in Git?

据我了解,对于任何使用Composer的项目,正确的部署到生产服务器的方法是不跟踪Git中的vendor文件夹,而是在生产服务器上运行Composer并让其获取所有必需的软件包并填充vendor文件夹给你。 首先,我说得对吗? (这听起来像是一个愚蠢的问题,但是没有人明确向我说过这一点)

其次,我的生产服务器是廉价的共享托管环境,而不是昂贵的AWS或Digital Ocean机顶盒,因此我无法在生产环境中安装Composer。 尽管我想以理想的方式做事情,但我做不到。 在Git中跟踪vendor文件夹并以这种方式部署软件包的第二个最佳选择是。 然后在将来,如果我以更高的灵活性升级到主机软件包,我可以停止跟踪vendor文件夹并以理想的方式开始做事吗?

您对应该如何使用供应商图的理解是正确的。

对于第二个问题,我只会选择您的解决方案作为最后的选择; 这远非理想。 您的存储库将需要通过第三方更改不断进行更新。

在您的情况下,我希望:

  1. 在本地安装php,composer和git。 在Windows,OSX和Linux中,这是可能的。
  2. 在本地镜像您的站点,然后在此执行作曲家更新。
  3. 通过FTP(或任何使用方式)将更新复制到生产站点。

这使您的存储库紧凑且易于管理。 您只需要对存储库提交自己的更改。

如果将来在任何时候都可以在服务器上运行git,则可以继续使用存储库,而不必清除整个供应商图。

是的,这就是人们通常使用作曲家的方式。

如果您对此服务器具有外壳访问权限,则可以轻松使用composer。 只需在回购中包含composer.phar,即可在共享服务器上运行php composer.phar install

您可以从他们的网站( https://getcomposer.org/download/ )获取最新的作曲家。

如果您没有外壳访问权限,则可以将供应商放在git中,但是我宁愿通过FTP手动复制供应商,而不是将其存储在git中。 我假设,由于您在服务器端使用了git,因此您具有外壳程序访问权限,但事实并非如此;)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM