我正在尝试在我的 PHPStrom 中安装 PHPCS (PHPCompatibity)。为此,我PHPCS
使用 composer 和以下命令进行了安装:
$ composer global require "squizlabs/php_codesniffer=*"
. 在我的系统中Ubuntu 20.04
,phpcs 可执行文件的路径是~/.config/composer/vendor/bin
。
但是,当我进入上述文件夹并尝试phpcs
从命令行执行时,我得到了这个:
Command 'phpcs' not found, but can be installed with:
sudo apt install php-codesniffer
可执行phpcbs
文件也驻留在同一个文件夹中,我也无法运行它。
当我将上述路径添加到PHPStorm
验证时PHPCS
,验证工作正常。
在 PHPStorm 中,我得到了这个:
PHP_CodeSniffer
phpcs: ERROR: Referenced sniff "PHPCS23Utils" does not exist
Run "phpcs --help" for usage information
Open PHPCodeSniffer Inspection Settings
当我运行时phpcs --help
,出现未找到命令错误。
这是我第一次尝试设置这些东西。
答案1
我不知道为什么你不能在命令行执行 phpcs,但是我在 PHPStorm 中遇到了同样的错误,引用的嗅探“PHPCS23Utils”不存在。
我的解决方法是从https://github.com/PHPCSStandards/PHPCSUtils
如果您使用 composer 安装,则可能不需要配置任何内容,但由于我必须手动安装,因此我必须更新 CodeSniffer.conf 文件以包含已安装的路径并添加 PHPCS23Utils 和 PHPCSUtils。因此该行看起来像:
'installed_paths' => 'C:\\your\\path\\to\\PHPCS23Utils,C:\\your\\path\\to\\PHPCSUtils,C:\\your\\path\\to\\PHPCompatibility',
我使用的是 Windows,因此您必须针对 Ubuntu 适当调整路径。确保路径之间没有空格,否则它只会读取第一个路径。这让我困惑了一段时间。安装并正确更新配置后,我就能够在命令行和 PHPStorm 中运行兼容性检查。