我想卸载(而不是从我的 composer.json 中删除)对项目的开发依赖项。
有没有一种简单的方法可以做到这一点?
使用 --no-dev
运行 install
或 update
现在应该删除开发要求及其依赖项。
出于历史目的的原始答案:
其实没有。当然,您可以从供应商目录手动 rm -rf 它们,但是在您使用 --dev 进行安装后,composer 无法卸载开发需求。这不是一个巨大的用例,但如果您想在 github 上报告问题,可能需要一个新的命令行开关。
删除 composer.json
文件中的依赖项后,您可以使用以下命令。
composer update
composer install
。
在寻找相同答案时遇到了这个问题。您现在只需执行以下操作即可卸载已安装的开发依赖项:
composer --no-dev update
它将删除它找到的所有开发包。虽然它会让人们像我一样登陆这里:)
composer update
,始终将 composer install
与已提交的 composer.lock
文件一起使用。话虽这么说:您也可以使用该命令的选项。请参阅已接受的答案,该答案已修改为还包括以下内容:Seldaek 是作曲家的作者。
update
命令可能会更新您不打算更新的软件包,而您只想从供应商目录中删除开发依赖项。
composer.lock
文件。这意味着该命令将准确更新 0 个依赖项,并且使用起来非常安全。顺便说一句,接受的答案(在我把它放在这里之后用相同的信息更新)来自作曲家的作者。
这不是严格的答案,但可能会对某人有所帮助。
要删除特定的开发依赖项:
composer remove --dev squizlabs/php_codesniffer
我稍后回答,但它可以帮助其他人:composer remove friendsofsymfony/elastica-bundle
(例如)
composer install --no-dev
。这将删除开发包,使composer.json
和composer.lock
文件保持不变。