Visual Studio 代码:无法找到 phpcs
Posted
技术标签:
【中文标题】Visual Studio 代码:无法找到 phpcs【英文标题】:Visual Studio Code: Unable to locate phpcs 【发布时间】:2018-04-20 19:17:34 【问题描述】:我在 Visual Studio Code 中遇到了这个问题。我已经尝试重新安装 phpcs 扩展,但仍然面临这个问题。
找不到phpcs
请将
phpcs
添加到您的全局路径或使用composer依赖管理器在Visual Studio Code本地安装到您的项目中
【问题讨论】:
【参考方案1】:我遇到了同样的问题,我做了以下修复:
使用 composer 和 composer global require squizlabs/php_codesniffer
安装 phpcs
按Command + ,
(点击代码->首选项->设置)
PHP CodeSniffer
”
滚动到“Executatble Path
”并输入
/Users/your-username/.composer/vendor/bin/phpcs
这解决了我的问题,我希望它也适用于你。干杯!
【讨论】:
这项工作对我来说,你需要安装数据包'php-xml'。并且“可执行路径”可以更改为:/Users/your-username/.config/composer/vendor/bin/phpcs "phpcs.standard": "PSR2", "phpcs.enable": true, "php.validate.executablePath": "/usr/bin/php7.3", "phpcs.executablePath" : "/home//.composer/vendor/squizlabs/php_codesniffer/bin/phpcs", "phpcs.autoConfigSearch": true, 使用 Debian Linux 或基于它的用户的可执行路径:/home/your-user/.config/composer/vendor/squizlabs/php_codesniffer/bin/phpcs 我不知道我做错了什么但我不得不使用这个路径:/Users//AppData/Roaming/Composer/vendor/bin/phpcs 在 Mac 上工作。谢谢。【参考方案2】:在终端中打开项目并运行此命令
composer global require squizlabs/php_codesniffer
希望有帮助!
【讨论】:
【参考方案3】:我认为卸载它并不能解决问题。
我有同样的问题。所以,
-
转到扩展并安装插件....“phpcs”。
如果您安装了扩展程序,请搜索它。
禁用扩展。
它解决了我的 VS 代码中的问题。
【讨论】:
【参考方案4】:在基于 Debian 的系统上以 root 身份运行:
apt-get install php-codesniffer
【讨论】:
也适用于 Ubuntu 18.04【参考方案5】:来自GitHub comment。
如果有人仍然需要有关此“无法找到 phpcs ...”的帮助 错误信息,试试这个:你只需要全局安装
phpcs
通过作曲家。如果没有 Composer,请从 this resource 安装,
安装 Composer 后,在任意位置打开命令提示符并运行此命令
composer global require squizlabs/php_codesniffer
【讨论】:
【参考方案6】:就我而言,在 Windows 10 中,作曲家位于:
C:\Users\user_name\AppData\Roaming\Composer\vendor\bin\
当我将它添加到 PHP CodeSniffer 部分的 VSCode 设置中时,这解决了我的问题。
【讨论】:
在我的 Windows 10 上不起作用,我必须在末尾添加phpcs
,如下所示:C:\Users\user_name\AppData\Roaming\Composer\vendor\bin\phpcs
这对我有用。文件/首选项/设置。搜索 PHP CodeSniffer。将上面的路径添加到可执行路径中。【参考方案7】:
我的解决方案无需全局安装 php_codesniffer。
只需进入 VSCode 设置并定义本地路径./vendor/squizlabs/php_codesniffer/bin/phpcs
或者你可以直接在settings.json
中设置路径
"phpcs.executablePath": "./vendor/squizlabs/php_codesniffer/bin/phpcs"
【讨论】:
【参考方案8】:我遇到了同样的问题,我这样做是为了在 我的窗口中修复它:
您将下载 Composer(来自 here)
转到 Vs 代码并打开终端并运行此命令
composer global require squizlabs/php_codesniffer
转到(设置-->用户设置),然后搜索PHP CodeSniffer
滚动到可执行路径并输入
\Users\user_name\AppData\Roaming\Composer\vendor\bin\phpcs
然后重启 VS 代码。
这对我有用,我希望它也对你有用:D
【讨论】:
【参考方案9】:将以下内容粘贴到您的终端以进行系统范围的安装
composer global require squizlabs/php_codesniffer
这阻止了我的错误消息弹出。
【讨论】:
感谢您加入 ***!不幸的是,已经发布了与此相同的答案。【参考方案10】:安装PHP Sniffer 而不是phpcs
PHP Sniffer 无需任何额外配置即可运行
phpcs 无法识别我的命令,尽管安装了已配置的 PATH、Composer 和 PHPCS。
这些命令在终端中被识别,但不是被插件识别 (在 Windows 10 下)
【讨论】:
【参考方案11】:我在 Mac 上的 Visual Studio Code 中遇到了同样的问题(我使用 PEAR 安装 PHPCS)。 我不知道为什么,但是 PHPCS 找不到 CodeSniffer 的 autoload.php。 您可以尝试在终端命令行输入:
$ phpcs
我遇到了一个错误:
警告:include_once(PHP/CodeSniffer/autoload.php):打开失败 流:在 /Users/david/pear/bin/phpcs 上没有这样的文件或目录 第 14 行
警告:include_once():打开“PHP/CodeSniffer/autoload.php”失败 在 /Users/david/pear/bin/phpcs 中包含 (include_path='.:') 第 14 行
解决方案:
在您的用户文件夹中打开 Pear Bin 文件夹,例如在我的情况下:/Users/david/pear/bin/
在 Finder 中,
在里面找到phpcs
文件并编辑它(例如在Visual Studio Code中:),
你会在那里找到这些行:
if (is_file(__DIR__.'/../autoload.php') === true)
include_once __DIR__.'/../autoload.php';
else
include_once 'PHP/CodeSniffer/autoload.php';
在 CodeSniffer/autoload.php 文件的正确位置添加两行(将其放在 else
行之前并根据您的需要修改路径 - 将“david”替换为您的用户名...):
else if (is_file('/users/david/pear/share/pear/PHP/CodeSniffer/autoload.php'))
include_once '/users/david/pear/share/pear/PHP/CodeSniffer/autoload.php';
所以条件的最终代码是:
if (is_file(__DIR__.'/../autoload.php') === true)
include_once __DIR__.'/../autoload.php';
else if (is_file('/users/david/pear/share/pear/PHP/CodeSniffer/autoload.php'))
include_once '/users/david/pear/share/pear/PHP/CodeSniffer/autoload.php';
else
include_once 'PHP/CodeSniffer/autoload.php';
然后保存并重新启动 Visual Studio Code。就是这样。
【讨论】:
这看起来很有希望,但我仍然收到错误消息。我的 phpcs 将在 CLI 上运行,而不是在 VSCode 中。【参考方案12】:我对 Drupal 也有同样的问题,解决方案是指定编码标准。 所以创建 phpcs.xml 并启用下一个选项。
【讨论】:
【参考方案13】:"phpcs.standard": "PSR2",
"phpcs.enable": true,
"phpcs.executablePath": "/home/<username>/.config/composer/vendor/squizlabs/php_codesniffer/bin/phpcs",
"phpcs.autoConfigSearch": true
【讨论】:
【参考方案14】:我遇到了同样的错误,我注意到 phpcs 在命令行中工作,但在 vscode 中不工作。我必须阅读 linter.js 文件(vscode 扩展)来查看这个错误来自哪里。此修复程序更多的是信息。
所以,要解决这个问题:首先,运行命令phpcs --version
,并在输出类似于PHP_CodeSniffer version x.x.x (stable) by Squiz (HTTP://www.squiz.net)
的行之前检查该命令是否不打印任何警告或错误。
如果在显示 phpcs 版本的行之前出现任何错误或警告(通常与 phpcs 无关),请先修复该警告或错误。根据 linter.js,它期望第一个输出(执行 phpcs.bat 时)必须以 PHP_CodeSniffer version
字符串开头。因此,如果在 PHP_CodeSniffer 版本 .... 之前应该打印任何内容,则会引发错误。
因此,如果您希望 phpcs 在 VSCode 中工作,您必须修复在 phpcs 版本之前打印的任何警告或错误。我希望这个修复对你有用。干杯!
【讨论】:
【参考方案15】:我对所有这些答案都感到困惑,我认为这可能会让 Windows 10 上的作曲家新手感到困惑
这可以让您更好地理解路径和 Windows 环境变量设置。但是,它还包括安装 php7 和与 cakephp 的集成,您可能希望跳过并专注于(Composer 和 phpcs)
我在https://www.bravo-kernel.com/2017/03/installing-php7-composer-and-codesniffer-on-windows10-for-vscode/找到了修复
它拥有让 phpcs 完美运行所需的一切。
程序:
下载适用于 Windows 10 的 Composer Here
在 Windows 10 上安装 Composer
打开命令提示符(cmd.exe)并输入“composer”并按回车键(只需在窗口开始搜索“cmd”)
Microsoft Windows [Version 10.0.19042.1165]
(c) Microsoft Corporation. All rights reserved.
C:\Users\systemuser>composer
如果 composer 安装正确,你会得到类似这样的响应
______
/ ____/___ ____ ___ ____ ____ ________ _____
/ / / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/
/ /___/ /_/ / / / / / / /_/ / /_/ (__ ) __/ /
\____/\____/_/ /_/ /_/ .___/\____/____/\___/_/
/_/
Composer version 2.1.5 2021-07-23 10:35:47
Usage:
command [options] [arguments]
Options:
-h, --help Display this help message
-q, --quiet Do not output any message
-V, --version Display this application version
--ansi Force ANSI output
--no-ansi Disable ANSI output
-n, --no-interaction Do not ask any interactive question
--profile Display timing and memory usage information
--no-plugins Whether to disable plugins.
-d, --working-dir=WORKING-DIR If specified, use the given directory as
working directory.
--no-cache Prevent use of the cache
-v|vv|vvv, --verbose Increase the verbosity of messages: 1 for
normal output, 2 for more verbose output and 3 for debug
Available commands:
(It continues)
如果您不打算更改默认目录,您现在可以安装 phpcs,否则您可以使用上面链接中的说明设置新的可执行路径。默认作曲家目录是
C:/Users/systemuser/AppData/Roaming/Composer
现在在命令提示符下添加以下命令(全局安装):
composer global require squizlabs/php_codesniffer
下面是它的样子:
C:\Users\systemuser>composer global require squizlabs/php_codesniffer
Changed current directory to C:/Users/systemuser/AppData/Roaming/Composer
Using version ^3.6 for squizlabs/php_codesniffer
./composer.json has been updated
Running composer update squizlabs/php_codesniffer
Loading composer repositories with package information
Updating dependencies
Nothing to modify in lock file
Writing lock file
Installing dependencies from lock file (including require-dev)
Nothing to install, update or remove
Generating autoload files
C:\Users\systemuser>
注意:没有安装任何东西,因为我已经安装了 phpcs。您还可以看到composer切换到默认目录,如果没有发生这种情况,您需要在安装phpcs之前使用“cd newpath”导航到适当的目录:
C:\Users\systemuser>cd AppData\Roaming\Composer
结果是:
C:\Users\systemuser\AppData\Roaming\Composer>
您已完成安装,因此请通过导航路径验证应用程序路径
现在您可以将链接复制到 phpcs 文件并粘贴到 VSCode 中(如果您更改了 composer bin 路径,则需要复制相应的目录)。它应该是这样的
C:\Users\sytemuser\AppData\Roaming\Composer\vendor\bin\phpcs
现在 phpcs 在安装扩展后应该可以正常工作了!
【讨论】:
【参考方案16】:根据最佳答案?
就我而言(在 Windows 10 中),作曲家位于:
C:\Users\user-name\AppData\Roaming\Composer\vendor\squizlabs\php_codesniffer\bin
【讨论】:
【参考方案17】:你说你已经卸载了它,所以我假设你试图摆脱扩展和错误。
如何解决:
-
卸载扩展。
从 VS Code 文件夹中删除整个 phpcs 文件夹。
来自 VS Code 文档:
问:扩展安装在哪里?
答:根据您的平台,全球位置位于以下文件夹中:
Windows %USERPROFILE%\.vscode\extensions
Mac ~/.vscode/extensions
Linux ~/.vscode/extensions
【讨论】:
以上是关于Visual Studio 代码:无法找到 phpcs的主要内容,如果未能解决你的问题,请参考以下文章
visual studio code 设置php.validate.executablePath
Visual Studio 核心错误无法在 macOS 中找到 Android Studio 可执行文件