有没有办法用composer卸载dev依赖项?

Yoh*_* G. 69 php composer-php

我想卸载(而不是从我的composer.json中删除)对项目的dev依赖项.

有一个简单的方法吗?

Sel*_*aek 69

运行installupdate使用--no-dev应该现在删除开发人员要求及其依赖项.

出于历史目的的原始答案:

其实没有.您可以从供应商目录手动rm -rf,但是在使用--dev进行安装后,composer无法卸载开发需求.这不是一个巨大的用例,但如果您想在github上报告问题,可以保证新的命令行切换.

  • 此行为现​​已更改.您只需要将--dev开关添加到composer update以物理删除开发包 (9认同)
  • 为了清楚起见,命令是`composer install --no-dev`。这将删除dev软件包,而不会破坏`composer.json`和`composer.lock`文件。 (6认同)

Kor*_*clü 45

删除composer.json文件中的依赖项后,可以使用以下命令.

composer update
Run Code Online (Sandbox Code Playgroud)

  • 请注意,因为这可能会导致"require"中的所有内容被卸载并删除 (2认同)

Bli*_*izz 23

在寻找相同答案时遇到了这个问题.您现在可以通过以下操作卸载已安装的dev依赖项:

composer --no-dev update
Run Code Online (Sandbox Code Playgroud)

它将删除它找到的所有dev包.虽然我会以与我一样的方式登陆这里的人们感兴趣:)

  • 当然可以,但这与原来的问题完全无关。此外,在生产中,您永远不应该使用“composer update”,而应始终使用“composer install”和已提交的“composer.lock”文件。话虽这么说:您也可以使用该命令的选项。请参阅已接受的答案,该答案已修改为还包括以下内容:Seldaek 是作曲家的作者。 (2认同)

San*_*ues 10

这不是严格的答案,但可能会帮助某人。

要删除特定的开发依赖项:

composer remove --dev squizlabs/php_codesniffer
Run Code Online (Sandbox Code Playgroud)