Проблемы установки Pear и PHP_CodeSniffer: невозможно использовать phpcs из командной строки

Мои настройки: Mac OSX El Capitan 10.11.6, PHP 7.0.24-1+ubuntu14.04.1, PEAR Версия: 1.10.5, я работаю над локальной сборкой WordPress с использованием vagrant/virtualbox (vvv).

Я новичок в pear и php_codesniffer и не могу заставить работать команды phpcs. Я пытался установить PHP_CodeSniffer, используя pear:

Моя первая проблема при попытке установить PEAR. Я следую инструкциям: $ curl -O https://pear.php.net/go-pear.phar & $ php -d detect_unicode=0 go-pear.phar, Затем, когда я пытаюсь настроить Установочную базу для /usr/local/pear и для каталога Binaries в /usr/local/bin, я получаю следующую ошибку: Unable to create PHP code directory ($php_dir) /usr/local/pear/share/pear. Run this script as root or pick another location.

Я нашел других с такой же ошибкой и увидел это решение: sudo php /usr/lib/php/install-pear-nozlib.phar -d /usr/local/lib/php -b /usr/local/bin Но это вызвало ошибку: Could not open input file: /usr/lib/php/install-pear-nozlib.phar

Затем я попытался настроить грушу, используя: /home/vagrant/pear. Я смог установить PHP_codesniffer, когда я использую pear listЯ могу видеть php_codesniffer:

vagrant @ vvv: ~ $ pear list Установленные пакеты, канал pear.php.net: Состояния версии пакета Archive_Tar 1.4.3 стабильный Console_Getopt 1.4.1 стабильныйPHP_CodeSniffer 3.1.1 стабильный Structures_Graph 1.1.1 стабильный XML_Util 1.4.2 стабильный

когда я запускаю phpcs, я получаю следующее сообщение: Программа phpcs в настоящее время не установлена. Для запуска 'phpcs', пожалуйста, попросите вашего администратора установить пакет 'php-codesniffer'

Я нашел этот пост: который побудил меня: sudo pear config-set php_bin /usr/bin/php, затем удалить и переустановить codeniffer. Кажется, все работает правильно, но когда я пытаюсь, какой phpcs, нет ничего.

Я установил и удалил грушу несколько раз. Когда я пытаюсь удалить, он говорит, что груша не установлена, но когда я делаю which pear, Я получил usr/bin/pear, Это немного беспорядок, любой совет будет принята с благодарностью.

1 ответ

Груша устарела в 2017 году.

Вместо этоговы должны использовать композитор:

composer require squizlabs/php_codesniffer --dev

Тогда беги как:

vendor/bin/phpcs ...

Чтобы получить более подробную информацию о времени ожидания PEAR, есть RFC об удалении PEAR для PHP 8.

Другие вопросы по тегам