有一个卸载包的命令会很有趣。
的确,对于一个特定的项目,我们可以直接编辑composer.json
文件,但是当库安装在全局配置模式下,我们必须改变composer.json
文件所规定的文件夹中的COMPOSER_HOME
,坦率地说,这并不容易!
我以 PHPUnit 为例:
从 4.0 版本开始,建议使用Composer
(在全局模式下)而不是 PEAR。 好的,这很酷,我们使用我们最喜欢的依赖管理工具,并按照安装文档进行操作:
$ composer.phar global require "phpunit/phpunit=4.0.*"
除了现在,一个新的更新可用,4.1。 简单的更新不会传递到更高版本,并且无法在命令行中更改版本号:
$ composer.phar global require "phpunit/phpunit=4.1.*"
Your requirements could not be resolved to an installable set of packages.
Problem 1
- Can only install one of: phpunit/phpunit-mock-objects[2.1.0, 2.0.5].
- Can only install one of: phpunit/phpunit-mock-objects[2.1.0, 2.0.5].
- phpunit/phpunit 4.1.0 requires phpunit/phpunit-mock-objects ~2.1 -> satisfiable by phpunit/phpunit-mock-objects[2.1.0].
- Installation request for phpunit/phpunit 4.1.* -> satisfiable by phpunit/phpunit[4.1.0].
- Installation request for phpunit/phpunit-mock-objects == 2.0.5.0 -> satisfiable by phpunit/phpunit-mock-objects[2.0.5].
因此需要手动更改全局composer.json
文件,这并不容易。
当您想在全局模式下测试或临时使用库时,也会出现问题:无法通过命令行轻松卸载。
是否可以添加此命令? 我认为这将非常有用,因为 Composer 可以在全局模式下安装库。
https://github.com/composer/composer/issues/1622 的副本(一旦composer unrequire
将被实施,它将自动在全局模式下可用)
@stof抱歉,但我在创建此问题之前进行了检查。
对于从 Google 来到这里的任何人,现在可以使用composer global remove
。
例如:
composer global remove fabpot/php-cs-fixer
最有用的评论
对于从 Google 来到这里的任何人,现在可以使用
composer global remove
。例如: