root権のない一般ユーザーでも開発環境でCI(Jenkins/PHPUnit/Phing)してみたい (中編)
自分用pearの準備
pear自体はPHPについてくるので誰でもつかえると思うんですが、インストール先が/usr/local/phpとかだったり、そもそもpearが古かったりするので自分用のを入れましょう。
.pearrcの生成
/home/calpo/pear に自分用のpearを置くとすると、以下のようにします。
$ cd ~/ $ pear config-create /home/calpo/share .pearrc Configuration (channel pear.php.net): ===================================== Auto-discover new Channels auto_discover <not set> Default Channel default_channel pear.php.net HTTP Proxy Server Address http_proxy <not set> PEAR server [DEPRECATED] master_server <not set> Default Channel Mirror preferred_mirror <not set> Remote Configuration File remote_config <not set> PEAR executables directory bin_dir /home/calpo/share/pear PEAR documentation directory doc_dir /home/calpo/share/pear/docs PHP extension directory ext_dir /home/calpo/share/pear/ext PEAR directory php_dir /home/calpo/share/pear/php ・ ・
.pearrcには自分用pearの設定が保存され、↑で出力された内容は"pear config-show"でいつでも確認できます。
自分用pear本体のインストール
$ pear install -o PEAR WARNING: channel "pear.php.net" has updated its protocols, use "pear channel-update pear.php.net" to update downloading PEAR-1.9.4.tgz ... ・ ・ PEAR: To install optional features use "pear install pear/PEAR#featurename"
PHPUnitインストール
チャンネル追加してインストール
$ pear channel-discover pear.phpunit.de $ pear channel-discover components.ez.no $ pear channel-discover pear.symfony-project.com $ pear install phpunit/PHPUnit Did not download optional dependencies: ezc/ConsoleTools, use --alldeps to download automatically Failed to download pear/HTTP_Request2 within preferred state "stable", latest release is version 2.0.0RC1, stability "beta", use "channel://pear.php.net/HTTP_Request2-2.0.0RC1" to install phpunit/PHPUnit can optionally use PHP extension "dbus" pear/XML_RPC2 requires package "pear/HTTP_Request2" (version >= 0.6.0) phpunit/PHPUnit requires package "pear/XML_RPC2"
文句言われた
一個ずつ足りないものを入れようとするとさらに文句言われたりしたので最終的に↓のようにやった
$ pear install channel://pear.php.net/Net_URL2-0.3.1 $ pear install channel://pear.php.net/HTTP_Request2-2.0.0RC1 $ pear install pear/XML_RPC2 $ pear install phpunit/PHPUnit $ phpunit -v PHPUnit 3.5.3 by Sebastian Bergmann.
これでやっと入る
※curl関連でけちが付いた場合は → http://lazesoftware.com/blog/11/0213/
Phingインストール
pearでさっくり
$ pear channel-discover pear.phing.info $ pear install phing/phing $ phing -v PHP Warning: require_once(phing/Project.php): failed to open stream: No such file or directory in /home/calpo/share/pear/php/phing/Phing.php on line 22
インストールはWarningでつつも無事終わるが動かない。
PHPのinclude_pathが通ってないので通す
通常のpearインストールディレクトリは自動的にinclude_pathに含まれるようになってるんですが、今回は自分用なので自分でinclude_pathを設定する必要があります。
share/pear/php/phing.php の最初の方に↓を追加
<?php ini_set('include_path', ini_get('include_path').':'.dirname(__FILE__)); ・ ・
(本当はphp.iniに書いたりphpコマンド実行時に-dオプション指定したりしたいけど)
./phing -v Phing 2.4.6
完了。