php删除composer重装,php – Composer:删除一个包,清理依赖关系,不要更新其他包

情况

假设我有一个由Composer安装的两个软件包的项目:

php composer.phar require 'squizlabs/php_codesniffer:~2.0' 'phpmd/phpmd:~2.1'

自动生成的composer.json文件如下所示:

{

"require": {

"squizlabs/php_codesniffer": "~2.0",

"phpmd/phpmd": "~2.1"

}

}

在自动生成的composer.lock文件中,有两个请求的包:

> 2.0.0 squizlabs / php_codesniffer

> 2.1.3 phpmd / phpmd

还有phpmd / phpmd的四个依赖关系:

> 2.0.4 pdepend / pdepend

> 2.5.9 symfony / config

> 2.5.9 symfony /依赖注入

> 2.5.9 symfony / filesystem

几天后,发布了squizlabs / php_codesniffer版本2.1.0,但我不想

要运行更新。我现在要保持2.0.0版本,也许我会在几天内运行更新。

问题

我现在想从我的项目中删除phpmd / phpmd。我想要实现以下几点:

>从composer.json中删除phpmd / phpmd

>从composer.lock中删除phpmd / phpmd

>从供应商文件夹中删除phpmd / phpmd

>从composer.lock中删除phpmd / phpmd的所有依赖项

>从供应商文件夹中删除phpmd / phpmd的所有依赖项

>不要将squizlabs / php_codesniffer更新到2.1.0版本

编辑:我更喜欢一个不需要更改的解决方案

composer.json中的squizlabs / php_codesniffer的版本限制

我试过了

如果我跑:

php composer.phar remove phpmd/phpmd

这实现了点1,2,3,6,但没有达到点4,5。

phpmd / phpmd的依赖关系保留在composer.lock和vendor文件夹中。

如果我跑:

php composer.phar remove phpmd/phpmd

php composer.phar update

这实现了点1,2,3,4,5,但没有达到点6。

squizlabs / php_codesniffer更新到版本2.1.0。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值