2

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

4

1 回答 1

2

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

$文件/usr/local/bin/phpcs

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

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

如果它是通过 PEAR 放置在那里的,或者如果您知道 PEAR 安装了 phpcs,您可以通过以下方式检查 PEAR 安装脚本的位置:

$ pear list PHP_CodeSniffer | grep "phpcs$"
于 2016-05-19T15:39:54.590 回答