2016-04-14 125 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