2011-11-10 6 views
24

J'ai essayé de faire fonctionner PHPunit pour mon projet de framework zend et j'ai rencontré plusieurs problèmes. J'ai réinstallé PEAR et ai désinstallé PHPunit, et les ai réinstallés tous les deux.Impossible de faire fonctionner PHPunit

Mon erreur actuelle est

[email protected]:~$ phpunit PHP Warning: require_once(PHPUnit/Framework/MockObject/Autoload.php): failed to open stream: No such file or directory in /usr/share/php/PHPUnit/Autoload.php on line 48 PHP Fatal error: require_once(): Failed opening required 'PHPUnit/Framework/MockObject/Autoload.php' (include_path='.:/usr/share/php/:/usr/local/share/php/library') in /usr/share/php/PHPUnit/Autoload.php on line 48

J'utilise ubuntu 11.10, PHP 5.3.6-13ubuntu3.2

Je serais très reconnaissant si quelqu'un pouvait me donner quelques conseils. J'ai regardé beaucoup sur google, mais rien ne semble résoudre mon problème.

Merci,

Demian.

Voici ma décharge shell qui montre ce que je l'ai fait récemment:

[email protected]:~$ phpunit 
The program 'phpunit' is currently not installed. You can install it by typing: 
sudo apt-get install phpunit 

[email protected]:~$ sudo pear channel-discover pear.phpunit.de 
[sudo] password for demian: 

Channel "pear.phpunit.de" is already initialized 

[email protected]:~$ sudo pear channel-discover pear.symfony-project.com 

Channel "pear.symfony-project.com" is already initialized 

[email protected]:~$ sudo pear channel-discover components.ez.no 

Channel "components.ez.no" is already initialized 

[email protected]:~$ sudo pear update-channels 

Updating channel "components.ez.no" 

Channel "components.ez.no" is up to date 

Updating channel "doc.php.net" 

Channel "doc.php.net" is up to date 

Updating channel "pear.php.net" 

Channel "pear.php.net" is up to date 

Updating channel "pear.phpunit.de" 

Channel "pear.phpunit.de" is up to date 

Updating channel "pear.symfony-project.com" 

Channel "pear.symfony-project.com" is up to date 

Updating channel "pecl.php.net" 

Channel "pecl.php.net" is up to date 

[email protected]:~$ sudo pear upgrade-all 

Will upgrade channel://pear.php.net/benchmark 

downloading Benchmark-1.2.8.tgz ... 

Starting to download Benchmark-1.2.8.tgz (8,352 bytes) 

.....done: 8,352 bytes 

upgrade-all ok: channel://pear.php.net/Benchmark-1.2.8 

[email protected]:~$ sudo pear install --force --alldeps phpunit/PHPUnit 

downloading PHPUnit-3.6.3.tgz ... 

Starting to download PHPUnit-3.6.3.tgz (116,362 bytes) 

.........................done: 116,362 bytes 

install ok: channel://pear.phpunit.de/PHPUnit-3.6.3 

[email protected]:~$ pear install phpunit/PHP_CodeCoverage 

phpunit/PHP_CodeCoverage is already installed and is the same as the released version 1.1.1 

install failed 

[email protected]:~$ phpunit 


PHP Warning: require_once(PHPUnit/Framework/MockObject/Autoload.php): failed to open 
stream: No such file or directory in /usr/share/php/PHPUnit/Autoload.php on line 48 

PHP Fatal error: require_once(): Failed opening required 
'PHPUnit/Framework/MockObject/Autoload.php' (include_path='.:/usr/share/php/:/usr/local/share/php/library') in /usr/share/php/PHPUnit/Autoload.php on line 48 

[email protected]:~$ pear install phpunit 

Warning: lstat(): Lstat failed for /tmp/pear/cache/312d32445ed39d8611ead5ee1d8cd72frest.cacheid in PEAR/REST.php on line 276 
PHP Warning: lstat(): Lstat failed for /tmp/pear/cache/312d32445ed39d8611ead5ee1d8cd72frest.cacheid in /usr/share/php/PEAR/REST.php on line 276 
No releases available for package "pear.php.net/phpunit" 
install failed 

[email protected]:~$ sudo pear install phpunit 

WARNING: "pear/PHPUnit" is deprecated in favor of "phpunit/PHPUnit" 
Did not download dependencies: pear/PHP_Compat, use --alldeps or --onlyreqdeps to download automatically 
pear/PHPUnit can optionally use package "pear/PHP_Compat" 
downloading PHPUnit-1.3.2.tgz ... 
Starting to download PHPUnit-1.3.2.tgz (20,913 bytes) 
........done: 20,913 bytes 
install ok: channel://pear.php.net/PHPUnit-1.3.2 

[email protected]:~$ phpunit 

PHP Warning: require_once(PHPUnit/Framework/MockObject/Autoload.php): failed to open stream: No such file or directory in /usr/share/php/PHPUnit/Autoload.php on line 48 
PHP Fatal error: require_once(): Failed opening required 'PHPUnit/Framework/MockObject/Autoload.php' (include_path='.:/usr/share/php/:/usr/local/share/php/library') in /usr/share/php/PHPUnit/Autoload.php on line 48 

[email protected]:~$ sudo pear uninstall phpunit 
uninstall ok: channel://pear.php.net/PHPUnit-1.3.2 

[email protected]:~$ ^C 

[email protected]:~$ pear install phpunit/PHPUnit 
phpunit/PHPUnit is already installed and is the same as the released version 3.6.3 
install failed 

[email protected]:~$ phpunit 

PHP Warning: require_once(PHPUnit/Framework/MockObject/Autoload.php): failed to open stream: No such file or directory in /usr/share/php/PHPUnit/Autoload.php on line 48 
PHP Fatal error: require_once(): Failed opening required 'PHPUnit/Framework/MockObject/Autoload.php' (include_path='.:/usr/share/php/:/usr/local/share/php/library') in /usr/share/php/PHPUnit/Autoload.php on line 48 

[email protected]:~$ pear install --force phpunit/PHPUnit 

WARNING: configuration download directory "/tmp/pear/download" is not writeable. Change download_dir config variable to a writeable dir to avoid this warning 
Cannot install, php_dir for channel "pear.phpunit.de" is not writeable by the current user 

[email protected]bo-TP:~$ sudo pear install phpunit/PHPUnit 

phpunit/PHPUnit is already installed and is the same as the released version 3.6.3 
install failed 

[email protected]:~$ pear install --force phpunit/PHPUnit 

WARNING: configuration download directory "/tmp/pear/download" is not writeable. Change download_dir config variable to a writeable dir to avoid this warning 
Cannot install, php_dir for channel "pear.phpunit.de" is not writeable by the current user 

[email protected]:~$ sudo pear install --force phpunit/PHPUnit 

Did not download optional dependencies: phpunit/PHP_Invoker, use --alldeps to download automatically 
downloading PHPUnit-3.6.3.tgz ... 
Starting to download PHPUnit-3.6.3.tgz (116,362 bytes) 
.........................done: 116,362 bytes 
install ok: channel://pear.phpunit.de/PHPUnit-3.6.3 

[email protected]:~$ phpunit 

PHP Warning: require_once(PHPUnit/Framework/MockObject/Autoload.php): failed to open stream: No such file or directory in /usr/share/php/PHPUnit/Autoload.php on line 48 
PHP Fatal error: require_once(): Failed opening required 'PHPUnit/Framework/MockObject/Autoload.php' (include_path='.:/usr/share/php/:/usr/local/share/php/library') in /usr/share/php/PHPUnit/Autoload.php on line 48 
+0

Pour une erreur non accessible en écriture, voir php.ini (ligne 988) [Phar]; http://php.net/phar.readonly;phar.readonly = Off – davidcondrey

Répondre

63

Il prend le droit PHPUnit, mais les autres paquets sont manquants. Vous devriez être en mesure de résoudre ce problème en utilisant

sudo pear install --alldeps --force phpunit/phpunit 

ou si vous souhaitez mettre à jour seule la lib qui semble être la question:

sudo pear install --force phpunit/PHPUnit_MockObject 

Utilisateurs Windows: Omettre « sudo » si vous êtes sur la plate-forme Windows

+6

Correction à l'aide de: sudo pear install --force phpunit/PHPUnit_MockObject – dimbo

+2

quelle erreur stupide. pourquoi n'installe-t-il pas mockobject en tant que dépendance? merci pour cela, de toute façon! – Duke

+0

@Duke Si pear fonctionne correctement, il le fait :) – edorian

Questions connexes