【问题标题】:Visual Studio Code: Unable to locate phpcsVisual Studio 代码:无法找到 phpcs
【发布时间】:2018-04-20 19:17:34
【问题描述】:

我在 Visual Studio Code 中遇到了这个问题。我已经尝试重新安装 phpcs 扩展,但仍然面临这个问题。

找不到phpcs

请将phpcs添加到您的全局路径或使用composer依赖管理器在Visual Studio Code本地安装到您的项目中

【问题讨论】:

    标签: php visual-studio-code


    【解决方案1】:

    我遇到了同样的问题,我做了以下修复:

    1. 使用 composer 和 composer global require squizlabs/php_codesniffer 安装 phpcs

    2. Command + ,(点击代码->首选项->设置)

    3. 选择用户设置并找到“PHP CodeSniffer
    4. 滚动到“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】:

      我认为卸载它并不能解决问题。

      我有同样的问题。所以,

      1. 转到扩展并安装插件....“phpcs”。
      2. 如果您安装了扩展程序,请搜索它。
      3. 禁用扩展。

      它解决了我的 VS 代码中的问题。

      【讨论】:

        【解决方案4】:

        在基于 Debian 的系统上以 root 身份运行:

        apt-get install php-codesniffer
        

        【讨论】:

        • 也适用于 Ubuntu 18.04
        【解决方案5】:

        来自GitHub comment

        如果有人仍然需要有关此“无法找到 phpcs ...”的帮助 错误信息,试试这个:你只需要全局安装phpcs 通过作曲家。

        1. 如果没有 Composer,请从 this resource 安装,
        2. 安装 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】:

            我遇到了同样的问题,我这样做是为了在 我的窗口中修复它:

            1. 您将下载 Composer(来自 here

            2. 转到 Vs 代码并打开终端并运行此命令

              composer global require squizlabs/php_codesniffer
              
            3. 转到(设置-->用户设置),然后搜索PHP CodeSniffer

            4. 滚动到可执行路径并输入

              \Users\{user_name}\AppData\Roaming\Composer\vendor\bin\phpcs
              

              然后重启 VS 代码。

            这对我有用,我希望它也对你有用:D

            【讨论】:

              【解决方案9】:

              将以下内容粘贴到您的终端以进行系统范围的安装

              composer global require squizlabs/php_codesniffer
              

              这阻止了我的错误消息弹出。

              【讨论】:

              • 感谢您加入 StackOverflow!不幸的是,已经发布了与此相同的答案。
              【解决方案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 完美运行所需的一切。

                      程序:

                      1. 下载适用于 Windows 10 的 Composer Here

                      2. 在 Windows 10 上安装 Composer

                      3. 打开命令提示符(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)
                      
                      1. 如果您不打算更改默认目录,您现在可以安装 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】:

                          你说你已经卸载了它,所以我假设你试图摆脱扩展和错误。

                          如何解决:

                          1. 卸载扩展。
                          2. 从 VS Code 文件夹中删除整个 phpcs 文件夹。

                          来自 VS Code 文档:

                          问:扩展安装在哪里?

                          答:根据您的平台,全球位置位于以下文件夹中:

                          Windows %USERPROFILE%\.vscode\extensions
                          
                          Mac ~/.vscode/extensions
                          
                          Linux ~/.vscode/extensions
                          

                          【讨论】:

                            猜你喜欢
                            • 1970-01-01
                            • 2019-02-03
                            • 2021-06-05
                            • 2017-12-16
                            • 2017-01-31
                            • 2021-03-30
                            • 2017-09-23
                            • 2019-01-20
                            • 2014-01-06
                            相关资源
                            最近更新 更多