Configuration Symfony2:仅更新一个供应商捆绑包

Configuration Symfony2:仅更新一个供应商捆绑包,configuration,symfony,bundle,Configuration,Symfony,Bundle,有没有办法只更新一个包而不更新deps文件中的每个包?我目前正在使用“php供应商安装”来安装所有供应商捆绑包,并且不知道有任何命令一次只更新一个捆绑包。1)只需打开您的deps文件(./deps) 2) 删除除要更新和保存deps文件的捆绑包以外的所有捆绑包 3) 让我们运行命令:php-bin/vendors-update 它将更新包 4) 返回您的deps文件并重写以前删除的所有捆绑行 干杯 简短版本: 做到这一点的“最佳方法”取决于您的设置。如果您以前运行过“php-bin/vendor

有没有办法只更新一个包而不更新deps文件中的每个包?我目前正在使用“php供应商安装”来安装所有供应商捆绑包,并且不知道有任何命令一次只更新一个捆绑包。

1)只需打开您的deps文件(./deps)

2) 删除除要更新和保存deps文件的捆绑包以外的所有捆绑包

3) 让我们运行命令:php-bin/vendors-update

它将更新包

4) 返回您的deps文件并重写以前删除的所有捆绑行

干杯

简短版本: 做到这一点的“最佳方法”取决于您的设置。如果您以前运行过“php-bin/vendors-update”,那么最好从deps.lock文件中删除要更新的捆绑包的行,然后从基本symfony文件夹中运行“php-bin/vendors-install”

长版本: 我认为对各种供应商命令所做的事情进行一些澄清是正确的

1) php-bin/供应商安装

此命令下载(如有必要)供应商包源文件并将其安装到symfony/vendor中。此命令将首先查看deps.lock以查看其中列出了哪些git提交/版本,然后查看deps文件以查看其中列出了哪些版本。如果其中没有为某个捆绑包指定任何版本,它将下载该捆绑包的捆绑包代码的最新版本。如果找到版本,它将下载并安装该版本的供应商捆绑代码

此命令不会将任何内容放入deps.lock中

2) php bin/供应商安装--重新安装

此命令的作用与php bin/vendors install相同,只是它总是在将代码安装到symfony/vendor之前下载代码

此命令不会将任何内容放入deps.lock中

3) php bin/供应商更新

此命令将忽略deps.lock,并将下载(如有必要)并将deps文件中列出的捆绑代码版本安装到symfony/vendor中

下载和安装完代码后,它会将每个bundle下载的代码的git commit id/版本放入deps.lock文件中。这样,当您运行上面列出的安装命令之一时,下载的代码版本不会更改,除非您从deps.lock文件中删除相关行,或者再次运行update命令

deps.lock文件背后的思想是防止您意外地将捆绑包升级到第三方捆绑包代码的最新bug非工作版本。Symfony和它的捆绑包正在不断开发中,所以更改(即使它们不是bug)发生的非常频繁,并且会破坏您的代码。您可能希望尽快将您的版本锁定在deps.lock中,并且只在您想特意更新时才进行更新

在deps.lock中锁定捆绑包版本后,只需从deps.lock文件中删除相关行,然后运行其中一个安装命令来更新特定捆绑包,就像我在上面的简短回答中所说的那样。如果您想将代码锁定到刚刚安装的版本,您需要在deps.lock中添加一行代码,或者删除deps中的所有内容,并运行php bin/vendor update,如上面的答案所示