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

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/6272264/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-08-25 23:51:37  来源:igfitidea点击:

Windows Installing PHPUnit via PEAR - Installing PHPUnit via PEAR

phpphpunitpear

提问by Will

When I run:

当我运行时:

peardev install phpunit/PHPUnit

I get the following:

我得到以下信息:

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

I have run the following:

我已经运行了以下内容:

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

and

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

and

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

and

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

Please help I am tearing my hair out here.

请帮助我在这里撕掉我的头发。

UPDATED

更新

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

UPDATE 2

更新 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

Update 3

更新 3

ran

跑了

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

Update 4

更新 4

Installed PHP at c:\PHP

在 c:\PHP 安装 PHP

Ran the above steps and I now get:

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

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

Update 5

更新 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

Pear upgrade pear thinks I am 1.9.3 but pear says it is version 1.9.0

梨升级梨以为我是1.9.3但梨说它是1.9.0版本

回答by Eric

I'm a really newbie but hope to be of any help.

我是一个真正的新手,但希望能有所帮助。

I just succeeded installing PHPUnit a moment ago.

我刚刚成功安装了 PHPUnit。

My env. is Wamp2.1.

我的环境 是 Wamp2.1。

I don't know exactly how this works but it worked for me, so try this.

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

pear clear-cachethen,

pear clear-cache然后,

pear install -a -f phpunit/PHPUnit

Somewhere in the failing message, I saw something about cache so I used clear-cache.

在失败消息的某个地方,我看到了一些关于缓存的信息,所以我使用了clear-cache.

It did some trick in installing process, I guess.

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

Good luck!

祝你好运!

回答by brian_d

From the manualpage

手册

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

pear install phpunit/PHPUnit

Make sure you have the two extra channels that are required.

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

Edit:

编辑:

Try following this advice: pear update-channels

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

回答by edorian

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

This is a bug in pear installer. It can't deal with the SPACE in your path and tries to read the wrong files. Installing your php in a folder without a space is the only 'fix' i know about :/

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



Update 5:

更新 5:

pear install --force --alldeps pear/pear

do all channel updates it asks for

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

pear install --force --alldeps phpunit/PHPUnit

if asked for channel updates, do those and repeat

如果要求频道更新,请执行并重复

回答by morteza kavakebi

if the Pearcommand didn't work try this:

如果Pear命令不起作用试试这个:

First off I'm assuming xampp is installed to C:\xampp

首先我假设 xampp 安装到 C:\xampp

  1. Open a command prompt and go to C:\xampp\php
  2. Type "pear update-channels" (updates channel definitions)
  3. Type "pear upgrade" (upgrades all existing packages and pear)
  4. Type "pear channel-discover components.ez.no" (this is needed for PHPUnit)
  5. Type "pear channel-discover pear.symfony-project.com" (also needed by PHPUnit)
  6. Type "pear channel-discover pear.phpunit.de" (This IS phpunit)
  7. Type "pear install --alldeps phpunit/PHPUnit" (installs PHPUnit and all dependencies)
  1. 打开命令提示符并转到 C:\xampp\php
  2. 输入“梨更新通道”(更新通道定义)
  3. 输入“梨升级”(升级所有现有的包和梨)
  4. 输入“pear channel-discover components.ez.no”(这是PHPUnit所需要的)
  5. 输入“pear channel-discover pear.symfony-project.com”(PHPUnit 也需要)
  6. 输入“pear channel-discover pear.phpunit.de”(这是phpunit)
  7. 键入“pear install --alldeps phpunit/PHPUnit”(安装 PHPUnit 和所有依赖项)

回答by cweiske

You have several PEAR versions installed and are executing the wrong one. See Pear on windows displaying different version numbersfor how to fix it.

您安装了多个 PEAR 版本并且正在执行错误的版本。有关如何修复它,请参阅 显示不同版本号的 Windows 上的 Pear

回答by Nick

make sure you're running command prompt as administrator and follow this

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

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

pear install phpunit/PHPUnit