Composer还原包

symfony git-revert vendors composer-php

15311 观看

5回复

1533 作者的声誉

我正在Symfony 2.1中构建一个新的应用程序。我正在使用很多使用作曲家的捆绑。很多这些捆绑包都存在这个最新版本的Symfony的问题,我不得不进入/ vendor文件夹来识别问题。

这意味着我正在直接更改供应商文件 - 纯粹是出于测试目的。(当我们修复了一个捆绑,我们分支并提交适当的拉取请求)。

我想知道的是,是否有一些命令composer.phar revert可以撤消对供应商文件夹所做的任何更改(如git checkout)。目前,如果我运行一个作曲家updateinstall它没有这样做。

谢谢

作者: lopsided 的来源 发布者: 2012 年 6 月 6 日

回应 (5)


21

32013 作者的声誉

决定

composer install,如果您保留了composer.lock文件,则会将所有供应商恢复到之前安装的状态。

作者: Seldaek 发布者: 11.06.2012 09:16

19

352 作者的声誉

如果您使用composer updatecomposer.lock已更改为。所以我做了一个小技巧。恢复composer.lock通过git并运行composer install。它将删除最新的软件包并下载以前的软件包。

作者: R Picheta 发布者: 06.05.2015 03:01

3

12624 作者的声誉

discard-changes添加到您的composer.json文件中:

{
    "config": {
        "discard-changes": true
    }
}

确保您使用的是最新版本的Composer。

作者: Zenexer 发布者: 09.03.2016 05:52

2

1042 作者的声誉

 cd /my/project/location/

 rm -rf vendor/my_vendor_to_rollBack

 composer install
作者: Saad Achemlal 发布者: 04.01.2017 05:21

0

539 作者的声誉

据我所知,除了与版本有关外,上述答案均无效。我更改了已安装的版本,您可以恢复到以前的版本。

但是,如果您只是删除或更改文件,则更改将显示在内composer status -v,但"discard-changes":true除非删除然后重新要求包,否则无法还原(即使使用)。

作者: Bob Ray 发布者: 22.05.2019 09:32
32x32