PEAR環境無しでどうにかインストールする方法を探してみた。
はじめはユーザディレクトリにPEARをインストールする方法を探ってました。
root権限なしでCakePHP2 + PHPUnitを最速でインストールする方法 – Copy/Cut/Paste/Hatena
$ curl -O http://pear.php.net/go-pear.phar
$ php go-pear.phar
$ ls pear/bin
pear_old
peardev
pecl
で入るはずなんだけど、下記のようにpear_old, peardev ができて、肝心のpearが無い。
バージョンも同じだし、不思議。
cd pear/bin
$ ./pear_old -V
PEAR Version: 1.9.4
PHP Version: 5.3.15
Zend Engine Version: 2.3.0
$ ./peardev -V
PEAR Version: 1.9.4
PHP Version: 5.3.15
Zend Engine Version: 2.3.0
仕方がないので
CakePHPでPHPUnitを手動インストールしたときのメモ | ミラボ
を参考に手動でインストール。
cd path/to/cake/app/Vendor
mkdir tmp
cd tmp
curl -O http://pear.phpunit.de/get/PHPUnit-3.7.9.tgz
curl -O http://pear.phpunit.de/get/File_Iterator-1.3.3.tgz
curl -O http://pear.phpunit.de/get/PHPUnit_MockObject-1.2.2.tgz
curl -O http://pear.phpunit.de/get/PHP_CodeCoverage-1.2.6.tgz
curl -O http://pear.phpunit.de/get/PHP_Timer-1.0.4.tgz
curl -O http://pear.phpunit.de/get/PHPUnit_MockObject-1.2.2.tgz
curl -O http://pear.symfony.com/get/Yaml-2.1.3.tgz
curl -O http://pear.phpunit.de/get/PHP_TokenStream-1.1.5.tgz
curl -O http://pear.phpunit.de/get/Text_Template-1.1.4.tgz
tar xvzf PHPUnit-3.7.9.tgz
tar xvzf File_Iterator-1.3.3.tgz
tar xvzf PHPUnit_MockObject-1.2.2.tgz
tar xvzf PHP_CodeCoverage-1.2.6.tgz
tar xvzf PHP_Timer-1.0.4.tgz
tar xvzf PHPUnit_MockObject-1.2.2.tgz
tar xvzf Yaml-2.1.3.tgz
tar xvzf PHP_TokenStream-1.1.5.tgz
tar xvzf Text_Template-1.1.4.tgz
cd ..
cp -R PHPUnit-3.7.9/PHPUnit .
cp -R File_Iterator-1.3.3/File .
cp -R PHP_CodeCoverage-1.2.6/PHP .
cp -R PHP_Timer-1.0.4/PHP .
cp -R PHP_TokenStream-1.1.5/PHP .
cp -R Text_Template-1.1.4/Text .
cp -R PHPUnit_MockObject-1.2.2/PHPUnit .
rm -rf ./tmp
各パッケージのバージョンあがった時どうしようか。。。
ほかにプラグイン入れないこと前提であればVendor以下まるっと削除して、もう一度インストールでいいかな。
http://hostname/test.php
で動作確認でき、、ません。
Fatal Error
Error: Call to undefined method PHPUnit_Framework_AssertionFailedError::getComparisonFailure()
File: /Path/to/cake/lib/Cake/TestSuite/Reporter/CakeHtmlReporter.php
Line: 252
"Call to undefined method PHPUnit_Framework_AssertionFailedError::getComparisonFailure()" by deg84 · Pull Request #716 · cakephp/cakephp
このpull-requestを手動反映して解決。
これにてPHPUnit動作確認できましたー。
【環境】
Mac OS X 10.8.2
PHP 5.3.15
cakephp-cakephp-2.2.2-0-gf155687.zip
Popular Posts:
- None Found