我有 Ubuntu 14.04 + Sublime text 3 并安装了 phpcs 软件包
另外,我已经在我的系统上安装了phpcs
和php-cs-fixer
来自此博客
我发现phpmd(PHP Mess Detector)也是一个必需的库,所以按照官方php md页面上的给定说明使用替代方法安装了phpmd 从github存储库中一切都完成了。
:~/phpmd$ curl -s http://getcomposer.org/installer | php
#!/usr/bin/env php
All settings correct for using Composer
Downloading...
Composer successfully installed to: /home/keshav/phpmd/composer.phar
Use it: php composer.phar
但是现在当我在终端上写字时
phpmd /opt/lampp/htdocs/myproject, myfile.php
phpmd:找不到命令
主目录上有phpmd文件夹,所有内容都没有任何错误。
我有核心PHP上的本地项目,按照github上的建议在项目文件夹中创建composer.json
。
请告诉我是什么意思
然后在您的项目中安装 Composer(或直接下载 composer.phar):
我认为问题是您已经在本地目录中安装了phpmd,但是您正在尝试使用它,就好像它是全局安装的一样。
参考站点上的安装说明真的再清楚不过了。由于您已经安装了phpcs和php-cs-fixer,并且它们对您有用,因此只需遵循phpmd的类似说明即可。这些都是PHP项目,并以类似的方式安装。
无论如何,要将 phpmd 用作全局命令,您有多种选择。
Github
像你一样克隆 github 存储库,并将 phpmd bin 目录添加到你的PATH
变量中。
全球作曲家安装
使用 composer global 命令全局安装 phpmd。您还需要确保作曲家的 bin 目录位于 PATH
中。默认情况下,它是 ~/.composer/vendor/bin
.
composer global require phpmd/phpmd
此命令将全局安装 phpmd,一旦~/.composer/vendor/bin
在您的PATH
中,您就可以通过简单地调用 phpmd
来调用它。
这在作曲家的文档中得到了很好的解释:https://getcomposer.org/doc/03-cli.md#global
下载法尔档案
这是你能做的最简单的事情。 只需转到phpmd版本,选择最新版本并下载phar存档。
将 phar 文件放在您想要的任何位置。请记住,它需要在您的PATH
中。您也可以重命名它以跳过.phar
扩展。
例如:
wget http://static.phpmd.org/php/2.1.3/phpmd.phar
sudo mv phpmd.phar /usr/bin/phpmd
sudo chmod +x /usr/bin/phpmd
码头工人容器
首先,使用 PHP 的静态分析工具获取 docker 镜像:
docker pull jakzal/phpqa
图像提供的工具之一是phpmd。下面的命令将在 docker 容器中运行 phpmd,并将当前工作目录挂载为/project。
docker run -it --rm -v $(pwd):/project -w /project jakzal/phpqa
phpmd src text cleancode,codesize,controversial,design,naming,unusedcode
当您使用基于 composer
的安装时,它会安装到 ./vendors
目录中的 ./bin
目录中。所以对我来说,相对于我的项目的根目录,它在这里:
./vendor/bin/phpmd
我能够通过运行./vendor/bin/phpmd . text codesize
从项目的根目录运行它。(我还没有得到任何有用的输出,但另一个问题)