我有Ubuntu 14.04 + Sublime text 3并安装了phpcs包
另外,我在我的系统上安装了phpcs
和php-cs-fixer
我发现 phpmd ( PHP Mess Detector )也是必需的库,因此根据{{上的指示安装 phpmd 3}}页面使用替代方法 从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 文件夹,所有内容都没有任何错误。
根据official php md的建议,我在项目文件夹中创建了核心PHP创建composer.json
的本地项目。
请告诉我
的含义然后在项目中安装Composer (或直接下载composer.phar):
答案 0 :(得分:28)
我认为问题是您已将phpmd安装在本地目录中,但您正在尝试使用它,就像它是全局安装一样。
参考网站上的安装说明真的可以更清楚了。由于您已经安装了phpcs和php-cs-fixer,并且那些适用于您,只需遵循phpmd的类似说明即可。这些都是PHP项目,并以类似的方式安装。
无论如何,要使用phpmd作为全局命令,您有几种选择。
<强> Github上强>
像您一样克隆github repository并将phpmd bin目录添加到your PATH
variable。
全球作曲家安装
使用composer global command全局安装phpmd。您还需要确保作曲家的bin目录位于PATH
中。默认情况下,它是~/.composer/vendor/bin
。
composer global require phpmd/phpmd
此命令将全局安装phpmd,只要~/.composer/vendor/bin
PATH
位于phpmd
,您就可以通过调用PATH
来调用它。
在作曲家的文档中对此进行了很好的解释:https://getcomposer.org/doc/03-cli.md#global
下载phar存档
这是你能做的最简单的事情。只需转到phpmd releases,choose the latest并下载the phar archive即可。
将phar文件放到您喜欢的任何地方。请记住,它需要在您的.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
扩展程序。
例如:
git pull jakzal/phpqa
Docker容器
首先,使用static analysis tools for PHP
获取泊坞窗图像docker run -it --rm -v $(pwd):/project -w /project jakzal/phpqa \
phpmd src text cleancode,codesize,controversial,design,naming,unusedcode
图像提供的工具之一是phpmd。下面的命令将在docker容器中运行phpmd,并将当前工作目录挂载为/ project。
{{1}}
答案 1 :(得分:2)
当您使用基于composer
的安装时,它将安装到./bin
目录中的./vendors
目录中。所以对我来说,相对于我项目的根目录,它就在这里:
./vendor/bin/phpmd
我能够通过运行./vendor/bin/phpmd . text codesize
从项目的根目录运行它。 (我还没有得到任何有用的输出,但另一个问题)