Windows 通过 PEAR 安装 PHPUnit - 通过 PEAR 安装 PHPUnit


Windows Installing PHPUnit via PEAR - Installing PHPUnit via PEAR

当我运行时:

peardev install phpunit/PHPUnit

我得到以下信息:

No releases available for package "pear.phpunit.de/PHPUnit"
install failed

我已经运行了以下内容:

pear channel-discover pear.phpunit.de
Channel "pear.phpunit.de" is already initialized

pear install --alldeps phpunit/PHPUnit
No releases available for package "pear.phpunit.de/PHPUnit"
install failed

pear remote-list -c phpunit
CHANNEL PHPUNIT AVAILABLE PACKAGES:
===================================
PACKAGE            VERSION
DbUnit             1.0.2
File_Iterator      1.2.6
Object_Freezer     1.0.0
PHPUnit            3.5.14
PHPUnit_MockObject 1.0.9
PHPUnit_Selenium   1.0.3
PHP_CodeBrowser    1.0.0
PHP_CodeCoverage   1.0.4
PHP_Timer          1.0.0
PHP_TokenStream    1.0.1
Text_Template      1.1.0
bytekit            1.1.1
phpUnderControl    0.5.0
phpcpd             1.3.2
phpdcd             0.9.2
phploc             1.6.1
ppw                1.0.4
test_helpers       1.1.0

pear upgrade pear
No releases available for package "pear.php.net/pear"
upgrade failed

请帮忙,我在这里撕头发。

更新

C:'Program Files'PHP>pear channel-discover pear.phpunit.de
Channel "pear.phpunit.de" is already initialized
C:'Program Files'PHP>pear channel-discover components.ez.no
Channel "components.ez.no" is already initialized
C:'Program Files'PHP>pear channel-discover pear.symfony-project.com
Channel "pear.symfony-project.com" is already initialized
C:'Program Files'PHP>pear install phpunit/PHPUnit
No releases available for package "pear.phpunit.de/PHPUnit"
install failed

更新 2

C:'Program Files'PHP>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

更新 3

C:'Program Files'PHP>pear clear-cache
reading directory C:'Users'stephen'AppData'Local'Temp'pear'cache
136 cache entries cleared
C:'Program Files'PHP>pear install -a -f phpunit/PHPUnit
phpunit/PHPUnit can optionally use PHP extension "dbus"
phpunit/PHP_CodeCoverage can optionally use PHP extension "xdebug" (version >= 2
.0.5)
downloading PHPUnit-3.5.14.tgz ...
Starting to download PHPUnit-3.5.14.tgz (118,697 bytes)
..........................done: 118,697 bytes
could not extract the package.xml file from "C:'Program Files'PHP'tmp'PHPUnit-3.
5.14.tgz" Unable to create directory 'C:/Program/tmpF4D2.tmp'
Unable to create path for C:/Program/tmpF4D2.tmp/package.xml
Download of "phpunit/PHPUnit" succeeded, but it is not a valid package archive
Error: cannot download "phpunit/PHPUnit"
downloading DbUnit-1.0.2.tgz ...
Starting to download DbUnit-1.0.2.tgz (39,231 bytes)
...done: 39,231 bytes
could not extract the package.xml file from "C:'Program Files'PHP'tmp'DbUnit-1.0
.2.tgz" Unable to create directory 'C:/Program/tmpF64A.tmp'
Unable to create path for C:/Program/tmpF64A.tmp/package.xml
Download of "phpunit/DbUnit" succeeded, but it is not a valid package archive
Error: cannot download "phpunit/DbUnit"
downloading File_Iterator-1.2.6.tgz ...
Starting to download File_Iterator-1.2.6.tgz (3,439 bytes)
...done: 3,439 bytes
could not extract the package.xml file from "C:'Program Files'PHP'tmp'File_Itera
tor-1.2.6.tgz" Unable to create directory 'C:/Program/tmpF6E7.tmp'
Unable to create path for C:/Program/tmpF6E7.tmp/package.xml
Download of "phpunit/File_Iterator" succeeded, but it is not a valid package arc
hive
Error: cannot download "phpunit/File_Iterator"
downloading PHP_CodeCoverage-1.0.4.tgz ...
Starting to download PHP_CodeCoverage-1.0.4.tgz (115,029 bytes)
...done: 115,029 bytes
could not extract the package.xml file from "C:'Program Files'PHP'tmp'PHP_CodeCo
verage-1.0.4.tgz" Unable to create directory 'C:/Program/tmpF83F.tmp'
Unable to create path for C:/Program/tmpF83F.tmp/package.xml
Download of "phpunit/PHP_CodeCoverage" succeeded, but it is not a valid package
archive
Error: cannot download "phpunit/PHP_CodeCoverage"
downloading PHPUnit_MockObject-1.0.9.tgz ...
Starting to download PHPUnit_MockObject-1.0.9.tgz (18,414 bytes)
...done: 18,414 bytes
could not extract the package.xml file from "C:'Program Files'PHP'tmp'PHPUnit_Mo
ckObject-1.0.9.tgz" Unable to create directory 'C:/Program/tmpF939.tmp'
Unable to create path for C:/Program/tmpF939.tmp/package.xml
Download of "phpunit/PHPUnit_MockObject" succeeded, but it is not a valid packag
e archive
Error: cannot download "phpunit/PHPUnit_MockObject"
downloading PHPUnit_Selenium-1.0.3.tgz ...
Starting to download PHPUnit_Selenium-1.0.3.tgz (16,587 bytes)
...done: 16,587 bytes
could not extract the package.xml file from "C:'Program Files'PHP'tmp'PHPUnit_Se
lenium-1.0.3.tgz" Unable to create directory 'C:/Program/tmpF9F6.tmp'
Unable to create path for C:/Program/tmpF9F6.tmp/package.xml
Download of "phpunit/PHPUnit_Selenium" succeeded, but it is not a valid package
archive
Error: cannot download "phpunit/PHPUnit_Selenium"
downloading YAML-1.0.5.tgz ...
Starting to download YAML-1.0.5.tgz (9,966 bytes)
...done: 9,966 bytes
could not extract the package.xml file from "C:'Program Files'PHP'tmp'YAML-1.0.5
.tgz" Unable to create directory 'C:/Program/tmpFA83.tmp'
Unable to create path for C:/Program/tmpFA83.tmp/package.xml
Download of "symfony/YAML" succeeded, but it is not a valid package archive
Error: cannot download "symfony/YAML"
downloading PHP_TokenStream-1.0.1.tgz ...
Starting to download PHP_TokenStream-1.0.1.tgz (7,250 bytes)
...done: 7,250 bytes
could not extract the package.xml file from "C:'Program Files'PHP'tmp'PHP_TokenS
tream-1.0.1.tgz" Unable to create directory 'C:/Program/tmpFB10.tmp'
Unable to create path for C:/Program/tmpFB10.tmp/package.xml
Download of "phpunit/PHP_TokenStream" succeeded, but it is not a valid package a
rchive
Error: cannot download "phpunit/PHP_TokenStream"
downloading ConsoleTools-1.6.1.tgz ...
Starting to download ConsoleTools-1.6.1.tgz (869,994 bytes)
...done: 869,994 bytes
could not extract the package.xml file from "C:'Program Files'PHP'tmp'ConsoleToo
ls-1.6.1.tgz" Unable to create directory 'C:/Program/tmp9D.tmp'
Unable to create path for C:/Program/tmp9D.tmp/package.xml
Download of "ezc/ConsoleTools" succeeded, but it is not a valid package archive
Error: cannot download "ezc/ConsoleTools"
downloading Base-1.8.tgz ...
Starting to download Base-1.8.tgz (236,357 bytes)
...done: 236,357 bytes
could not extract the package.xml file from "C:'Program Files'PHP'tmp'Base-1.8.t
gz" Unable to create directory 'C:/Program/tmp36C.tmp'
Unable to create path for C:/Program/tmp36C.tmp/package.xml
Download of "ezc/Base" succeeded, but it is not a valid package archive
Error: cannot download "ezc/Base"
Download failed
install failed

更新 4

在 c:''PHP 上安装了 PHP

运行上述步骤,我现在得到:

C:'PHP>peardev install phpunit/PHPUnit
phpunit/PHPUnit requires PEAR Installer (version >= 1.9.2), installed version is
 1.9.0
phpunit/PHPUnit can optionally use PHP extension "dbus"
phpunit/DbUnit requires PEAR Installer (version >= 1.9.2), installed version is
1.9.0
phpunit/File_Iterator requires PEAR Installer (version >= 1.9.2), installed vers
ion is 1.9.0
phpunit/PHP_CodeCoverage requires PEAR Installer (version >= 1.9.1), installed v
ersion is 1.9.0
phpunit/PHP_CodeCoverage requires package "phpunit/File_Iterator" (version >= 1.
2.2)
phpunit/PHP_CodeCoverage can optionally use PHP extension "xdebug" (version >= 2
.0.5)
phpunit/PHPUnit_MockObject requires PEAR Installer (version >= 1.9.2), installed
 version is 1.9.0
phpunit/PHPUnit_Selenium requires PEAR Installer (version >= 1.9.2), installed v
ersion is 1.9.0
phpunit/PHP_TokenStream requires PEAR Installer (version >= 1.9.1), installed ve
rsion is 1.9.0
No valid packages found
install failed
C:'PHP>pear upgrade pear
pear/pear is already installed and is the same as the released version 1.9.3
upgrade failed

更新 5

C:'PHP>pear upgrade pear
pear/pear is already installed and is the same as the released version 1.9.3
upgrade failed
C:'PHP>pear -V
PEAR Version: 1.9.0
PHP Version: 5.2.17
Zend Engine Version: 2.2.0

升级梨认为我是1.9.3,但梨说是1.9.0版本

我是一个非常新手,但希望能有所帮助。

我刚才刚刚成功安装了 PHPUnit。

我的环境是Wamp2.1。

我不知道这是如何工作的,但它对我有用,所以试试这个。

pear clear-cache 那么,

pear install -a -f phpunit/PHPUnit

在失败消息的某个地方,我看到了有关缓存的内容,所以我使用了clear-cache.

我猜它在安装过程中做了一些技巧。

祝你好运!

来自手册页

pear channel-discover pear.phpunit.de
pear channel-discover components.ez.no
pear channel-discover pear.symfony-project.com
pear install phpunit/PHPUnit

确保您具有所需的两个额外通道。

编辑:

请尝试遵循以下建议:pear update-channels

could not extract the package.xml file from "C:'Program Files'PHP'tmp'YAML-1.0.5
.tgz" Unable to create directory 'C:/Program/tmpFA83.tmp'
Unable to create path for C:/Program/tmpFA83.tmp/package.xml

这是梨安装程序中的一个错误。它无法处理路径中的空间并尝试读取错误的文件。将 php 安装在没有空格的文件夹中是我所知道的唯一"修复":/


更新 5:

pear install --force --alldeps pear/pear

执行它要求的所有频道更新

pear install --force --alldeps phpunit/PHPUnit

如果系统要求频道更新,请执行这些操作并重复

如果Pear命令不起作用,请尝试以下操作:

首先,我假设 xampp 已安装到 C:''xampp

  1. 打开命令提示符并转到 C:''xampp''php
  2. 键入"梨更新通道"(更新通道定义(
  3. 键入"梨升级"(升级所有现有软件包和梨(
  4. 键入"梨通道发现 components.ez.no"(PHPUnit 需要这样做(
  5. 键入"梨通道-发现 pear.symfony-project.com"(PHPUnit 也需要(
  6. 键入"梨通道-发现 pear.phpunit.de"(这是 PHP unit(
  7. 键入"pear install --alldeps phpunit/PHPUnit"(安装 PHPUnit 和所有依赖项(

您安装了多个 PEAR 版本,但执行了错误的版本。看窗户上的梨显示不同的版本号,以了解如何修复它。

请确保您以管理员身份运行命令提示符并按照此操作进行操作

pear channel-discover pear.phpunit.de
pear channel-discover components.ez.no
pear channel-discover pear.symfony-project.com
pear install phpunit/PHPUnit