当我在我的供应商文件夹中尝试composer require something/something
时
它开始安装很多我没有要求的东西。
就像我刚刚做composer require ramsey/uuid
一样,Composer创建了一个名为vendor的子文件夹,然后开始下载很多库,例如Laravel,Symfony和Twig(这些只是我所知道的。)
这首先发生在我试图要求Twig的时候。我刚刚删除了不相关的库并保留了Twig。
有没有人知道造成这种情况的原因是什么?
答案 0 :(得分:2)
如果作曲家正在下载并安装你没有要求的东西,那么可能 要求的东西是以下其中一个:
Composer创建名为vendor的文件夹,作为其提取和安装的所有库/包的主目录。
答案 1 :(得分:2)
你总是可以通过runnung检查,为什么Composer安装了什么东西
$ composer why webmozart/assert
该命令将向您显示,哪些根要求取决于包(在这种情况下为webmozart/assert
)。
答案 2 :(得分:1)
最好的方法是删除所有内容并从头开始,因为你还没有真正完成任务(正如你所说,你的composer.json
文件是空的):
$ rm -rf vendor/
$ rm composer.json
$ rm composer.lock
然后,启动composer并再次安装依赖项:
$ composer init
$ composer require ramsey/uuid
你现在应该全力以赴。
我的假设是您基于较旧的composer install
文件运行composer.lock
,该文件将重新下载依赖项。