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