如果我不想执行composer update,只想使用composer.json和composer.lock中的内容,该怎么办?

10

我有一个基于旧版composer的Symfony项目,最近更新了一些代码。在开发环境中测试一切正常。但是当部署时,composer要求运行composer.phar self-update来更新composer,因为它已经过时。之后我使用composer.phar install命令,但出现了以下错误 -

[RuntimeException]                                                                                                            
Your composer.lock was created before 2012-09-15, and is not supported anymore. Run "composer update" to generate a new one.

如果我不想更新怎么办?我还可以继续使用现在的版本吗?我该如何强制停止更新。


更改composer.lock文件中的状态和所有条目的日期? - mkjasinski
2个回答

14

锁定文件的结构已更改,因此您应该升级您的锁定文件。 您可以通过执行以下命令来升级您的锁定文件而不实际升级任何依赖项:

composer update nothing


它没有起作用。我尝试运行php composer.phar update,但什么也没有发生。然后我收到了这个警告:“未安装列出更新的软件包。忽略。”之后,我又收到了相同的RuntimeException,说你的composer.lock是在2012-09-15之前创建的,不再支持。运行“composer update”以生成新的锁定文件。 - Suracheth Chawla
2
谢谢 @gerry。这是我在 GitHub 上创建的问题 https://github.com/composer/composer/issues/1751。我将不得不将我的 composer.phar 降级到 1.0.0-alha6 版本才能使它正常工作。 - Suracheth Chawla
没有起作用。# php composer.phar update nothing[RuntimeException] 你的composer.lock文件是在2012年9月15日之前创建的,不再受支持。运行“composer update”生成一个新的文件。 - user285594
这简直是个天才的方法来解决 composer.lock 中的冲突... - Karol Gasienica

1
我建议您查看composer.lock文件,并注意其中使用的任何版本。然后将这些版本复制到composer.json中,删除锁定文件并运行正常安装。
当然,您需要在软件的副本上执行此操作,以查看是否再次出现所有相同的版本。

  1. 删除了 composer.lock 文件
  2. composer.json 文件正确无误
  3. 应用了 composer install 命令后仍然存在相同的问题:https://stackoverflow.com/q/45505665/285594 。总之,还没有解决问题。
- user285594
@YumYumYum,你不能提出与四年前相同的问题。我建议你提出一个新问题,我怀疑这个问题无法通过评论解决。 - Sven

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接