【问题标题】:Pear and PHP_CodeSniffer installation issues: not able to use phpcs from command linePear 和 PHP_CodeSniffer 安装问题:无法从命令行使用 phpcs
【发布时间】:2017-10-19 15:03:25
【问题描述】:

我的设置:Mac OSX El Capitan 10.11.6,PHP 7.0.24-1+ubuntu14.04.1,PEAR 版本:1.10.5,我正在使用 vagrant/virtualbox (vvv) 进行本地 wordpress 构建。

我是 pear 和 php_codesniffer 的新手,似乎无法让 phpcs 命令正常工作。我一直在尝试使用 pear 安装 PHP_CodeSniffer:

我的第一个问题是在尝试安装 PEAR 时。我按照以下说明进行操作: $ curl -O https://pear.php.net/go-pear.phar & $ php -d detect_unicode=0 go-pear.phar。 然后,当我尝试将安装库配置为 /usr/local/pear 并将二进制目录配置为 /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

然后我尝试使用以下命令配置 pear:/home/vagrant/pear。我能够安装 PHP_codesniffer,当我使用 pear list 时,我可以看到 php_codesniffer:

vagrant@vvv:~$ 梨清单 已安装的软件包,频道 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”

我发现了这个post: 提示我:sudo pear config-set php_bin /usr/bin/php,然后卸载并重新安装代码嗅探器。一切似乎都正常,但是当我尝试 which phpcs 时,什么都没有。

我已经安装和卸载了几次 pear。当我尝试卸载时,它说 pear 没有安装,但是当我执行which pear 时,我得到usr/bin/pear。这有点乱,任何建议将不胜感激。

【问题讨论】:

  • PEAR 已经过时多年了。你现在应该使用作曲家:composer require squizlabs/php_codesniffer --dev.
  • @Tomáš Votruba,我听从了您的建议并使用了作曲家。我现在可以运行 ./vendor/bin/phpcs 命令。感谢您的建议。
  • 干得好!太棒了,我会把它变成答案,这样更容易找到。

标签: pear phpcodesniffer vvv-wordpress


【解决方案1】:

PEAR 在 2017 年已经过时了。

你现在应该使用composer

composer require squizlabs/php_codesniffer --dev

然后像这样运行:

vendor/bin/phpcs ...

要了解有关 PEAR 超时的更多详细信息,请访问 RFC about PEAR removal for PHP 8

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-08-29
    • 1970-01-01
    • 2011-01-15
    • 2012-10-12
    • 1970-01-01
    • 1970-01-01
    • 2012-10-07
    • 2012-03-09
    相关资源
    最近更新 更多