无法删除旧的PHP_CodeSniffer安装

时间:2016-05-18 17:10:27

标签: macos composer-php pear phpcodesniffer

我的雇主要求我从PEAR phpcs安装转移到全球Composer phpcs安装。在尝试进行更改时,我发现了旧版本的现有phpcs。

macpro@~ $: which phpcs
/usr/local/bin/phpcs
macpro@~ $: /usr/local/bin/phpcs --version
PHP_CodeSniffer version 2.3.4 (stable) by Squiz (http://www.squiz.net)

此版本与我已安装的PEAR或Composer版本不匹配。

macpro@~/bin/phpcs $: pear list
Installed packages, channel pear.php.net:
=========================================
Package          Version State
Archive_Tar      1.4.0   stable
Console_Getopt   1.4.1   stable
PEAR             1.10.1  stable
PHP_CodeSniffer  2.6.0   stable
Structures_Graph 1.1.1   stable
XML_Util         1.3.0   stable
macpro@~/.composer $: composer info
squizlabs/php_codesniffer 2.6.0 PHP_CodeSniffer tokenizes PHP, JavaScript and CSS files and detects violations of a defined set of coding standards.

我无法使用PEAR更新或卸载此旧版本。我使用PEAR删除并重新安装PHP_CodeSniffer,没有任何变化。

我想也许我已经用MacPorts安装了旧的phpcs版本。安装MacPorts进行检查。

macpro@~ $: port installed
No ports are installed.

所以我的问题是,如何删除这个旧的phpcs安装(没有破坏任何东西,以这种方式我可以,最终卸载除了全局可用的composer包之外的每个phpcs实例)?

1 个答案:

答案 0 :(得分:1)

phpcs可执行文件是脚本还是phar文件? 如果它是一个phar文件,那么它绝对不会被PEAR安装放在那里。

$ file / usr / local / bin / phpcs

你应该得到: / usr / local / bin / phpcs:PHP脚本,ASCII文本可执行文件 要么 / usr / local / bin / phpcs:data

如果你得到"数据",那么它很可能是一个phar,在这种情况下你可以简单地删除它。

如果它是通过PEAR放在那里的,或者如果你知道有一个phpc的PEAR安装,你可以检查一下排序,看看PEAR安装脚本的位置:

$ pear list PHP_CodeSniffer | grep "phpcs$"