2011-11-10 30 views
24

Tôi đã được tring để có được PHPunit làm việc cho dự án khung zend của tôi và đã gặp phải các vấn đề khác nhau. Tôi đã cài đặt lại PEAR và gỡ cài đặt PHPunit và cài đặt lại cả hai.Không thể nhận được PHPunit làm việc

lỗi hiện tại của tôi là

[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

Tôi đang sử dụng ubuntu 11.10, PHP 5.3.6-13ubuntu3.2

tôi sẽ rất biết ơn nếu ai đó có thể cho tôi một số gợi ý. Tôi đã nhìn rất nhiều trên google, nhưng không có gì có vẻ để giải quyết vấn đề của tôi.

Xin cảm ơn,

Demian.

Đây là bãi vỏ của tôi trong đó cho thấy những gì tôi đã làm gần đây:

[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]:~$ 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

Vì không thể ghi được lỗi, hãy xem php.ini (dòng 988) [Phar]; http://php.net/phar.readonly;phar.readonly = Tắt – davidcondrey

Trả lời

63

Nó nhặt phpunit đúng, nhưng các gói khác đang mất tích. Bạn sẽ có thể khắc phục điều này bằng

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

hoặc nếu bạn chỉ muốn cập nhật các lib mà có vẻ là vấn đề:

sudo pear install --force phpunit/PHPUnit_MockObject 

của Windows Users: Bỏ qua "sudo" nếu bạn là trên nền tảng cửa sổ

+6

Sửa lỗi bằng cách sử dụng: sudo pear install --force phpunit/PHPUnit_MockObject – dimbo

+2

một lỗi ngu ngốc. tại sao nó không cài đặt mockobject như một phụ thuộc? cảm ơn cho điều này, anyway! – Duke

+0

@Duke Nếu quả lê hoạt động chính xác nó sẽ làm điều đó :) – edorian

Các vấn đề liên quan