もぉーーーーーーーーーーーーーー
どんなけエラー出すんですか!? ヾ(*`Д´*)ノ""プンプン
phpでテスト環境が欲しくて、phpunitをインストールしようとしました。
しかし、pearではインストールすることができなかったので、半自動でインストールしました。
その時のことをメモ
環境
cakephp配置ディレクトについて、実データはホスト側が持っていて、ゲストからnfsを使って共有されている環境になっています。
また、この投稿の作業については、ゲストサーバで行っています。(途中、ホスト側で行う作業もあるので注意)
pearでインストール
pearをまずインストールしました。
方法はまた別の記事で投稿しようと思いますが、結局pearを使ってインストールができなかった。
インストールしたけど、tab補完されているコマンドがあるに実行すると”存在しません”ってエラーがでたりと、その他色々面倒なことばっかり(´・ω・)
恐らく途中の設定だったり、何か勘違いしている点があると思うので、pearでのインストールは今回断念。
半自動でのインストール
流れとして、
まずはphpunitをダウンロード
$ cd /tmp/
$ git clone https://github.com/dereuromark/cakephp-phpunit
んで、cakephpのディレクトリにある、"~/plugins"ディレクトリに、ダウンロードしたパッケージを配置します。
# まずはディレクトリを作成 $ mkdir ~/plugins/Phpunit # ダウンロードしたパッケージをコピー $ cp -rf cake-phpunit/* ~/plugins/Phpunit
そして、コンソールからcakephpをコマンドを使って、関連パッケージをインストール
$ cd ~/cakephp/app/ $ Console/cake Phpunit.Phpunit install Welcome to CakePHP v2.5.7 Console --------------------------------------------------------------- App : app Path: ~/app/ --------------------------------------------------------------- Installing PHPUnit 3.7 ... 1. /app/Vendor/ 2. /vendors/ Select VENDOR path to install into (q/1/2) [q] >
コマンドを実行すると、選択肢が表示されます。
- /app/Vendor/
- /vendors/
どのディレクトリにインストールしますか? の、話しですが、私は「2」を選択しました。
理由としては、なんか、バージョン管理で含めたくないモジュールは"/vendors"に入れてほしいとのこと。なので、そこを選択しました。(あってるのかねぇ? )
とにかく、番号を選択したら、インストールが開始します。
しかし、問屋はおろしてはくれなかった。。。すぐさまエラーが発生しました。
エラーその1
Error: Xml cannot be read.
ん!? よくわかんない(´・ω・)
実はこれ、色々調べても解決することはありませんでした。
当時、コマンドを実行したときはモバイルルーターを使用していたので、恐らくネット回線が原因では? と、考えています。
なので、上記エラーがでたとしても根気強くもう一度コマンドを実行してください。
エラーその2
Downloading PHPUnit 3.7.32 .. Download finished. Extracting ..tar: package.xml: uid 1000 gid 1000 に所有者を変更できません: 許可されていない操作です tar: PHPUnit-3.7.32/PHPUnit/Extensions/PhptTestCase/Logger.php: uid 1000 gid 1000 に所有者を変更できません: 許可されていない操作です tar: PHPUnit-3.7.32/PHPUnit/Extensions/GroupTestSuite.php: uid 1000 gid 1000 に所有者を変更できません: 許可されていない操作です tar: PHPUnit-3.7.32/PHPUnit/Extensions/PhptTestCase.php: uid 1000 gid 1000 に所有者を変更できません: 許可されていない操作です tar: PHPUnit-3.7.32/PHPUnit/Extensions/PhptTestSuite.php: uid 1000 gid 1000 に所有者を変更できません: 許可されていない操作です tar: PHPUnit-3.7.32/PHPUnit/Extensions/RepeatedTest.php: uid 1000 gid 1000 に所有者を変更できません: 許可されていない操作です tar: PHPUnit-3.7.32/PHPUnit/Extensions/TestDecorator.php: uid 1000 gid 1000 に所有者を変更できません: 許可されていない操作です tar: PHPUnit-3.7.32/PHPUnit/Extensions/TicketListener.php: uid 1000 gid 1000 に所有者を変更できません: 許可されていない操作です tar: PHPUnit-3.7.32/PHPUnit/Framework/Assert/Functions.php: uid 1000 gid 1000 に所有者を変更できません: 許可されていない操作です tar: PHPUnit-3.7.32/PHPUnit/Framework/Comparator/Array.php: uid 1000 gid 1000 に所有者を変更できません: 許可されていない操作です tar: PHPUnit-3.7.32/PHPUnit/Framework/Comparator/DOMDocument.php: uid 1000 gid 1000 に所有者を変更できません: 許可されていない操作です tar: PHPUnit-3.7.32/PHPUnit/Framework/Comparator/Double.php: uid 1000 gid 1000 に所有者を変更できません: 許可されていない操作です tar: PHPUnit-3.7.32/PHPUnit/Framework/Comparator/Exception.php: uid 1000 gid 1000 に所有者を変更できません: 許可されていない操作です tar: PHPUnit-3.7.32/PHPUnit/Framework/Comparator/MockObject.php: uid 1000 gid 1000 に所有者を変更できません: 許可されていない操作です tar: PHPUnit-3.7.32/PHPUnit/Framework/Comparator/Numeric.php: uid 1000 gid 1000 に所有者を変更できません: 許可されていない操作です tar: PHPUnit-3.7.32/PHPUnit/Framework/Comparator/Object.php: uid 1000 gid 1000 に所有者を変更できません: 許可されていない操作です tar: PHPUnit-3.7.32/PHPUnit/Framework/Comparator/Resource.php: uid 1000 gid 1000 に所有者を変更できません: 許可されていない操作です tar: PHPUnit-3.7.32/PHPUnit/Framework/Comparator/Scalar.php: uid 1000 gid 1000 に所有者を変更できません: 許可されていない操作です tar: PHPUnit-3.7.32/PHPUnit/Framework/Comparator/SplObjectStorage.php: uid 1000 gid 1000 に所有者を変更できません: 許可されていない操作です tar: PHPUnit-3.7.32/PHPUnit/Framework/Comparator/Type.php: uid 1000 gid 1000 に所有者を変更できません: 許可されていない操作です 〜 多すぎるので省略 〜
おぉおおおおおおおおおおおおおおお!!!? (°Д°;
なんだぁこりゃ〜!??
エラー多すぎ。
でも、多分なんとなくエラー内容は理解しました。オーナーを変更することができないから困っているエラーですね。
ただ、いちいち所有者とか設定変更するのも面倒なので、ホスト側からコマンドを実行したらできました。
- ホスト側から共有フォルダにあるcakephpのコマンドを実行
$ cd ~/cakephp/app/ $ Console/cake Phpunit.Phpunit install 〜省略〜 --------------------------------------------------------------- Downloading PHP CodeCoverage 1.2.16 .. Download finished. Extracting ..Extracting done. Adding to Vendors ..Adding done. --------------------------------------------------------------- 〜省略〜
インストールが無事に完了したら、ブラウザから確認しましょう。赤い帯みたいな色棒が表示されていなければ完璧です!
よかった。。。。本当によかった。。。
ともあれ、インストールすることができました。