【问题标题】:Re-install vendors from composer.lock (not composer.json)从composer.lock(不是composer.json)重新安装供应商
【发布时间】:2014-12-08 05:42:34
【问题描述】:

在我的项目中,我有一些 Composer 供应商 库已经手动编辑;我的目的是在我的开发机器上将它们恢复到原始状态

不幸的是,我触发了composer update,所以我不再有正确的 composer.lock(它已被更新)。我从我们的生产系统(与旧开发 composer.lock 具有相同的库版本)获得了 composer.lock

用旧的替换新的composer.lock后,我应该执行什么以确保与以前的环境相同?

composer install 应该足以重新安装旧版本的依赖项吗? (删除旧的 Composer vendor/ 目录后)

我想在不获取任何更新版本的情况下重新安装。 而且,在将来我将避免执行 composer update 的情况下,在手动编辑供应商库后,我应该触发什么来恢复供应商库?

【问题讨论】:

  • 哦,谢谢。我找不到已经讨论过的地方。您认为它是否也适用于从另一台机器(不同的机器但具有相同的项目并处于所需状态)恢复的 composer.lock
  • 没错。命令install 查找composer.lock 文件并将下载那里指定的版本。恢复版本的唯一风险是它可能是旧版本,因此安装了旧的依赖项。看看这里:composer.lock - The Lock File
  • 发送 composer.lock 到你的 git/svn。每当您升级或安装新的依赖项时,composer.lock 都会更新,您必须将其发送到您的 git/svn。

标签: php linux composer-php vendors


【解决方案1】:

正如 Max 的回答:

"Yes, composer install will use the composer.lock file"

我刚刚从生产系统中恢复了composer.lock,然后执行了composer install

正如 Édipo Costa Rebouças 所述,如果我们每次更新时都将 composer.lock 提交到我们的存储库,那么我们将始终拥有对正确版本依赖项的正确引用。 p>

【讨论】:

    猜你喜欢
    • 2020-07-30
    • 1970-01-01
    • 2023-03-04
    • 1970-01-01
    • 1970-01-01
    • 2017-05-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多