一直以来,我在可以在生产环境中运行$ composer install
的环境中与Composer一起工作。但是如今,我无法在生产服务器上运行Composer(甚至没有安装过Composer)。因此,我必须将vendor
文件夹保留在Git下。但这会导致一些不良后果。例如。我安装在开发机器ramsey/uuid
软件包中,而该软件包又需要paragonie/random_compat
。我的开发机器上一切正常。我将我的工作委托给Git仓库(使用vendor
并被联合国忽略),然后将其推到GitLab,由支持团队将其投入生产。据我了解,由于该程序包具有自己的.gitignore
和被忽略的vendor
文件夹,因此paragonie/random_compat
下的vendor
文件都没有提交。并且支持团队报告了在prod(实际上是pre-prod)环境中的致命错误。
那么,有人可以建议在我的情况下实施工作流程吗?看来删除软件包的.gitignore
是最简单的解决方案。但是在这种情况下,我总是需要手动控制这些文件,例如。在$ composer update
等上
也许我应该更改我的~/.gitconfig_global
设置以消除对vendor
文件夹的忽略(如果有的话)吗?看起来不同的Composer / Packagist项目的“内部” .gitignore
具有不同的格式,因此在每种情况下其影响都不同。在Git下存储vendor
文件夹的常见最佳做法是什么?