首页 > 解决方案 > 有没有办法在不实际拉包的情况下进行作曲家要求?

问题描述

有没有办法composer require some/thing不实际拉包?在我的工作流程中,如果我知道一个命令来检查版本要求并更新 composer.json 而不实际对供应商目录做任何事情,那会加快事情的发展。

标签: composer-php

解决方案


您可以使用--no-updateswitch 来避免更新和安装新的依赖项 - 它只会将新的依赖项添加到composer.json.

composer require --no-update symfony/symfony

但是由于require不检查是否可以安装所需的包(它总是选择与您的 PHP 兼容的最新版本作为约束,而不检查是否可以安装),这可能会composer.json处于不可安装状态。它也不会更新composer.lock,因此composer install可能会忽略您的新依赖项。所以这可能是一个坏主意,除非你想在提交 new 之前对它做点什么composer.json

您可以尝试使用--dry-runswitch 来测试之后会发生什么composer update- 您将能够检查是否composer.json可安装,但composer.lock仍然会过时。

composer update --dry-run

推荐阅读