PHPUnitをPEARからインストールしたときメモ.
Posted: Updated:
PHPUnitのインストールメモ
オチから言うと,ちゃんとsebastianbergmann/phpunit - GitHubのInstallationを最初に読んでやりましょう.ということで以下まぬけな失敗ログ.
% sudo pear channel-discover pear.phpunit.de
Adding Channel "pear.phpunit.de" succeeded
Discovery of channel "pear.phpunit.de" succeeded
phpunitのチャンネルを追加して,installを実行.
% sudo pear install phpunit/PHPUnit
Unknown remote channel: components.ez.no
Did not download optional dependencies: channel://components.ez.no/ConsoleTools, use --alldeps to download automatically
Unknown remote channel: components.ez.no
phpunit/PHPUnit can optionally use PHP extension "dbus"
phpunit/PHP_CodeCoverage can optionally use package "channel://components.ez.no/ConsoleTools" (version >= 1.6)
phpunit/PHP_CodeCoverage can optionally use PHP extension "xdebug" (version >= 2.0.5)
phpunit/PHPUnit_MockObject can optionally use PHP extension "soap"
phpunit/PHP_TokenStream requires package "channel://components.ez.no/ConsoleTools" (version >= 1.6)
phpunit/PHP_CodeCoverage requires package "phpunit/PHP_TokenStream" (version >= 1.0.0)
phpunit/PHPUnit requires package "phpunit/PHP_CodeCoverage" (version >= 1.0.2)
install ok: channel://pear.phpunit.de/File_Iterator-1.2.6
install ok: channel://pear.phpunit.de/Text_Template-1.1.0
install ok: channel://pear.phpunit.de/PHP_Timer-1.0.0
install ok: channel://pear.phpunit.de/PHPUnit_Selenium-1.0.2
install ok: channel://pear.symfony-project.com/YAML-1.0.5
install ok: channel://pear.php.net/Cache_Lite-1.7.9
install ok: channel://pear.phpunit.de/DbUnit-1.0.1
install ok: channel://pear.phpunit.de/PHPUnit_MockObject-1.0.8
install ok: channel://pear.php.net/XML_RPC2-1.0.8
とりあえず処理が終了.
% phpunit --version
zsh: command not found: phpunit
% pear list -c phpunit
Installed packages, channel pear.phpunit.de:
============================================
Package Version State
DbUnit 1.0.1 stable
File_Iterator 1.2.6 stable
PHPUnit_MockObject 1.0.8 stable
PHPUnit_Selenium 1.0.2 stable
PHP_Timer 1.0.0 stable
Text_Template 1.1.0 stable
およ?肝心のPHPUnitがない.--alldepsをつけてもう一度.
% sudo pear install --alldeps phpunit/PHPUnit Package "pear.phpunit.de/PHPUnit" dependency "pear.phpunit.de/File_Iterator" has no releases Unknown remote channel: components.ez.no Unknown remote channel: components.ez.no phpunit/PHPUnit can optionally use PHP extension "dbus" phpunit/PHP_CodeCoverage can optionally use package "channel://components.ez.no/ConsoleTools" (version >= 1.6) phpunit/PHP_CodeCoverage can optionally use PHP extension "xdebug" (version >= 2.0.5) phpunit/PHP_TokenStream requires package "channel://components.ez.no/ConsoleTools" (version >= 1.6) phpunit/PHP_CodeCoverage requires package "phpunit/PHP_TokenStream" (version >= 1.0.0) phpunit/PHPUnit requires package "phpunit/PHP_CodeCoverage" (version >= 1.0.2) No valid packages found install failed
失敗してる.依存パッケージの置かれているチャンネルが無かったようです.
% sudo pear channel-discover components.ez.no
Adding Channel "components.ez.no" succeeded
Discovery of channel "components.ez.no" succeeded
チャンネルを追加してリトライ.
% sudo pear install --alldeps phpunit/PHPUnit
phpunit/PHPUnit can optionally use PHP extension "dbus"
phpunit/PHP_CodeCoverage can optionally use PHP extension "xdebug" (version >= 2.0.5)
install ok: channel://components.ez.no/Base-1.8
install ok: channel://components.ez.no/ConsoleTools-1.6.1
install ok: channel://pear.phpunit.de/PHP_TokenStream-1.0.1
install ok: channel://pear.phpunit.de/PHP_CodeCoverage-1.0.4
install ok: channel://pear.phpunit.de/PHPUnit-3.5.13
今度はOKっぽい.
% pear list -c phpunit Installed packages, channel pear.phpunit.de: ============================================ Package Version State DbUnit 1.0.1 stable File_Iterator 1.2.6 stable PHPUnit 3.5.13 stable PHPUnit_MockObject 1.0.8 stable PHPUnit_Selenium 1.0.2 stable PHP_CodeCoverage 1.0.4 stable PHP_Timer 1.0.0 stable PHP_TokenStream 1.0.1 stable Text_Template 1.1.0 stable % phpunit --version PHPUnit 3.5.13 by Sebastian Bergmann.
よしよし.
ちゃんと本家見ると
sebastianbergmann/phpunit - GitHubのInstallationみたら,ちゃんと依存してるからチャンネル追加しとけよって,書いてありました.あらあら.
pear channel-discover pear.phpunit.de
pear channel-discover components.ez.no
pear channel-discover pear.symfony-project.com
symfonyはたまたま以前symfony本体をPEARから入れたことがあったので,その名残でチャンネルが入ってた.