无法删除旧 PHP_CodeSniffer 安装

Can't remove old PHP_CodeSniffer install

我的雇主要求我从 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 实例)?

phpcs 可执行文件是脚本还是 phar 文件? 如果它是一个 phar 文件,那么它肯定不是由 PEAR 安装放置在那里的。

$ 文件 /usr/local/bin/phpcs

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

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

如果它是通过 PEAR 放置在那里的,或者如果您知道有 PHPcs 的 PEAR 安装在附近,您可以通过以下方式进行各种检查以查看 PEAR 安装脚本的位置:

$ pear list PHP_CodeSniffer | grep "phpcs$"