【问题标题】:Symfony Own Private VendorSymfony 自己的私人供应商
【发布时间】:2012-10-03 03:14:48
【问题描述】:
我在供应商中导入了一个私有包。
现在,我正在我的项目中工作,并且想要编辑供应商包中的一些代码。
现在我已经完成了,并且想提交代码,所以我去那个包的目录并说:“git commit -a”所以我给了一条消息,保存,现在我有一个提交。好的,“git push”并给出响应“一切都是最新的”......所以我不能推动它,但我可以提交??
这不是一种提交方式吗?我应该克隆 repo 并在那里工作吗?
【问题讨论】:
标签:
symfony
bundle
composer-php
vendor
【解决方案1】:
您不应该直接编辑供应商代码 - 这是依赖管理的重点。
Composer 基本上通过查看您的 composer.json 文件并获取您指定的存储库和版本来工作。如果您需要更改您的依赖项之一,您应该在原始存储库中进行更改,将更改推送到 GitHub(或您托管代码的任何地方)并运行 composer update。
【解决方案2】:
当 Composer 安装供应商时,它会检查特定的提交,因此您不在分支上。你需要检查master 分支——或者你正在使用的任何一个分支——并提交并推送它。
【解决方案3】:
很久以前我问过这个问题。同时,虽然我得到了答案,但从未更新我的 stackoverflow 问题,对此感到抱歉!
我自己的问题的答案是获得作曲家--prefer-source的依赖。
https://getcomposer.org/doc/03-cli.md#install
--prefer-source:下载包有两种方式:source和dist。对于稳定版本,composer 默认使用dist。 source 是一个版本控制存储库。如果启用了--prefer-source,composer 将从source 安装(如果有的话)。如果您想对项目进行错误修复并直接获取依赖项的本地 git 克隆,这将非常有用。