【问题标题】:composer is not removing entry from composer.lock作曲家没有从 composer.lock 中删除条目
【发布时间】:2018-05-15 17:09:31
【问题描述】:

我使用了以下命令来使用 composer 删除一个包。

composer remove sjparkinson/static-review

上述命令从composer.json 文件中删除条目,但composer.lock 文件仍包含require 部分中提到的库的条目。

更新composer.lock 的正确方法是什么?我应该手动更新吗?

【问题讨论】:

  • 显示composer why sjparkinson/static-review的结果。
  • 它说 magento/product-community-edition 2.2.4 需要 sjparkinson/static-review (~4.1)。

标签: composer-php


【解决方案1】:

Composer 不会删除这个包,因为另一个依赖项需要它。所以即使你不直接需要它,你的项目仍然需要它,所以你不能删除它。你可以使用composer why some-vendor/some-package 命令来检查保持这个包安装的原因:

composer why sjparkinson/static-review

magento/product-community-edition 2.2.4 需要 sjparkinson/static-review (~4.1)

如果你真的想删除这个包,你也需要删除magento/product-community-edition(以及依赖于这个包的每个依赖项)。


顺便说一句:手动编辑composer.lock 确实是个坏主意,你不应该这样做。

【讨论】:

  • 如果我有这个结果怎么办:There is no installed package depending on "guzzlehttp/psr7"?仍然没有从composer.lock 中删除
  • @spirit guzzlehttp/psr7 提供psr/http-message-implementation,所以我会检查是否有任何需要psr/http-message-implementation
猜你喜欢
  • 1970-01-01
  • 2021-03-08
  • 2014-11-10
  • 2013-09-07
  • 2015-07-24
  • 2012-11-11
  • 2020-06-13
  • 2018-01-09
  • 2022-07-22
相关资源
最近更新 更多