作曲家安装无关的库



当我尝试在供应商文件夹中使用composer require something/something时它开始安装很多我不要求的东西。

就像我刚刚做过composer require ramsey/uuid一样,作曲家创建了一个名为供应商的子文件夹,然后开始下载许多库,例如Laravel,Symfony和Twig(这些只是我所知道的)。

当我尝试需要树枝时,这第一次发生。我只是删除了无关的库并保留了树枝。

有人想知道造成这种情况的原因吗?

如果作曲家正在下载和安装您不要求的内容,那么可能是要求的东西:

  • 某些 require 在composer.json文件中定义的语句
  • 您正在安装的内容所需的依赖关系。我对树枝不熟悉,但可能需要Laravel,Symfony等。al。如果您打算使用以下框架之一,建议您先安装该框架,然后才需要树枝。
  • 某个地方的一些缓存的东西,例如上面提到的composer.lock文件

作曲家创建了称为供应商的文件夹,作为其获取和安装的所有库/软件包的家庭。

您可以随时检查,为什么作曲家安装了某些内容,runnung

$ composer why webmozart/assert

命令将向您展示,哪个根要求取决于软件包(在这种情况下为webmozart/assert)。

最好的方法是删除所有内容并从头开始,因为您还没有做太多事情(如您所说,您的composer.json文件是空的):

$ rm -rf vendor/
$ rm composer.json
$ rm composer.lock

然后,启动作曲家并再次安装依赖项:

$ composer init
$ composer require ramsey/uuid

您现在应该使所有工作都起作用。

我的假设是您基于旧的composer.lock文件运行composer install,该文件将重新下载依赖项。

相关内容

  • 没有找到相关文章

最新更新