Ubuntu 14.04 + Sublime text 3があり、phpcsパッケージがインストールされています
さらに、システムにphpcs
とphp-cs-fixer
をインストールしました
から このブログ
phpmd(PHP Mess Detector)も必要なライブラリであることがわかったので、インストールしましたphpmd公式php md ページの別の方法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フォルダがあり、エラーは発生していません。
github で提案されているように、コアPHP create composer.json
をプロジェクトフォルダーに作成します。
意味を教えてください
次に、Composerをプロジェクトにインストールします(またはcomposer.pharを直接ダウンロードします)。
問題は、phpmdをローカルディレクトリにインストールしたことだと思いますが、グローバルにインストールされているかのように使用しようとしています。
参照されているサイトでのインストール手順は、実際には明確にすることはできません。すでにphpcsとphp-cs-fixerをインストールしていて、それらが機能するので、phpmdの同様の手順に従ってください。これらはすべてPHPプロジェクトであり、同様の方法でインストールされます。
とにかく、phpmdをグローバルコマンドとして使用するには、いくつかのオプションがあります。
Github
githubリポジトリ のクローンを作成し、phpmd binディレクトリを PATH
変数 に追加します。
グローバルcomposerインストール
composer global command )を使用してphpmdをグローバルにインストールします。また、composerのbinディレクトリがPATH
にあることを確認する必要があります。デフォルトでは次のようになります。 ~/.composer/vendor/bin
。
composer global require phpmd/phpmd
このコマンドはphpmdをグローバルにインストールし、~/.composer/vendor/bin
がPATH
に入るとすぐに、phpmd
を呼び出すだけで呼び出すことができます。
これは、作曲家のドキュメントで非常によく説明されています: https://getcomposer.org/doc/03-cli.md#global
pharアーカイブをダウンロードします
これはあなたができる最も簡単なことです。 phpmd releases 、 最新のものを選択 に移動し、 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
Dockerコンテナ
まず、 PHPの静的分析ツール でDockerイメージをフェッチします。
git pull jakzal/phpqa
イメージによって提供されるツールの1つは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
ベースのインストールを使用すると、./bin
ディレクトリ内の./vendors
ディレクトリにインストールされます。したがって、私にとっては、プロジェクトのルートディレクトリと比較して、次のようになりました。
./vendor/bin/phpmd
そして、./vendor/bin/phpmd . text codesize
を実行することで、プロジェクトのルートから実行することができました。 (私はまだ有用な出力を得ていませんが、別の問題です)