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 2017生成工具

visual studio code 设置php.validate.executablePath

visualstudio2022无法启动附加到进程

Visual Studio 核心错误无法在 macOS 中找到 Android Studio 可执行文件

如何在 Visual Studio 2017 社区版的 IIS Express 中使用 php

为啥 Visual Studio 编译器无法找到某些头文件而 intellisense 可以?