2016-04-14 117 views
2

问题

phpcbf抱怨丢失CodeSniffer,但它似乎从它自己的phar中丢失。phpcbf抱怨丢失CodeSniffer

我的设置

的Ubuntu 14.04使用PHP 5.6

这里的Ondrej PPA就是我试图安装并输出验证安装

  • sudo pear install PHP_CodeSniffer

    pear list = > PHP_CodeSniffer 2.6.0稳定

  • curl -OL https://squizlabs.github.io/PHP_CodeSniffer/phpcbf.phar

    php phpcbf.phar --version => PHP_CodeSniffer 2.6.0版(稳定)由Squiz(http://www.squiz.net

我如何运行phpcbf

php phpcbf.phar --standard=PSR2 ./MyDir/MyClass.php

PHP Warning: chdir(): No such file or directory (errno 2) in phar:///home/myuser/projects/myproject/src/phpcbf.phar/CodeSniffer.php on line 861

更新:尽管警告,它似乎工作正常。

+1

它看起来是phar文件中的一个bug。我可以复制它并将修复。与此同时,您已经安装了PHARP,因此您可以直接使用phpcbf命令,就像使用phpcs命令一样。 –

+0

谢谢Greg!我会密切关注更新。 – mkaatman

+0

以下是关于Github上的问题报告:https://github.com/squizlabs/PHP_CodeSniffer/issues/944 – mkasberg

回答

0

PEAR是在2017年

方式已经过时,您应该使用composer时下代替:

composer require squizlabs/php_codesniffer --dev 

然后运行,如:

vendor/bin/phpcs ... 

要获得更多关于PEAR超时的细节,有RFC about PEAR removal for PHP 8