通过 PEAR 安装 PHPUnit
Posted
技术标签:
【中文标题】通过 PEAR 安装 PHPUnit【英文标题】:Installing PHPUnit via PEAR 【发布时间】:2011-01-01 16:10:00 【问题描述】:我在通过 PEAR 1.9.0 安装 PHPUnit 3.4.6 时遇到问题。在我发现频道 pear.phpunit.de 并尝试使用以下命令之一:
pear 安装 phpunit/PHPUnit
pear install --alldeps phpunit/PHPUnit
pear install --onlyreqdeps phpunit/PHPUnit
它失败了,给我以下错误:
没有可用于软件包的版本 "pear.phpunit.de/PHPUnit"
安装失败
我从有相同问题的人那里找到了几个帖子,但是将 PEAR 升级到最新版本通常对他们有用。似乎也几乎没有安装 PHPUnit for Windows 的教程。
编辑:
我也尝试将prefered_state 更改为beta;没有帮助。
我还尝试获取所有可用软件包的列表:
pear 远程列表 -c phpunit
它给了我另一个错误:
无法下载非http URL“/c/categories.xml”
【问题讨论】:
pear remote-list -c phpunit
的结果是什么?
无法下载非http URL“/c/categories.xml”
【参考方案1】:
我遇到了同样的问题,试试:
pear clear-cache
【讨论】:
【参考方案2】:我昨天也遇到了同样的问题,通过更新频道解决了
pear clear-cache
pear update-channels
在尝试安装 phpUnit 之前。
希望这会有所帮助。
【讨论】:
这解决了我在安装 phpunit 3.5 时遇到的类似问题。谢谢。 这个 + 单元格的pear clear-cache
想法对我有用。 +1 给你们每个人!!!
有人可以把这个清除缓存的粗体放在首页操作堆栈溢出上!两个小时后,我正要扔掉我的笔记本电脑,直到我读到这篇文章。谢谢老兄!!【参考方案3】:
它只是在我输入时安装我:
pear channel-discover pear.phpunit.de
pear install --onlyreqdeps phpunit/PHPUnit
可能版本有问题,你可以将pear包的preferred_state设置为不同于stable:
pear config-set preferred_state beta
【讨论】:
【参考方案4】:请按以下步骤操作:
-
1.
pear config-set auto_discover 1
-
2.
pear install pear.phpunit.de/PHPUnit
-> 在这里我得到:安装失败。
-
3.试试:
pear clear-cache
-> 成功执行
-
4.
pear update-channels
-> 成功执行
-
5.
pear install pear.phpunit.de/PHPUnit
-> 成功执行。
【讨论】:
它有效。在我遇到警告问题之前:require_once(Symfony/Component/Yaml/autoloader.php): failed to open stream: No such file or directory in C:\xampp\php\pear\PHPUnit\Autoload.php 在第 69 行。使用pear config-set auto_discover 1 我可以安装 PHPUnit。非常感谢。【参考方案5】:我遇到了同样的问题。这对我有用:
sudo pear clear-cache
sudo pear channel-discover pear.phpunit.de
sudo pear channel-discover pear.symfony-project.com
pear install --alldeps phpunit/PHPUnit
【讨论】:
遇到了与 Ondrej 相同的问题(但没有 categories.xml 错误),这很有效!非常感谢。【参考方案6】:什么是完整的错误消息输出?在我使用 --alldeps
选项安装并运行 pear channel-discover pear.symfony-project.com
之前,它对我来说失败了
sudo pear channel-discover pear.phpunit.de
sudo pear channel-discover pear.symfony-project.com
sudo pear install --alldeps phpunit/PHPUnit
【讨论】:
你能用运行sudo pear install --alldeps phpunit/PHPUnit
时收到的完整错误消息来编辑你的原始帖子吗?
好的,已编辑原始帖子。我不能(或不确定如何)使用“sudo”(我是 Windows 用户),但我是管理员,所以应该没问题。【参考方案7】:
自 2014-12-31 PEAR Installer 不再是 PHPUnit 的唯一安装方法 见这里:https://github.com/sebastianbergmann/phpunit/wiki/End-of-Life-for-PEAR-Installation-Method
【讨论】:
【参考方案8】:我试过了
pear update-channels
正如上面 Davide 所建议的那样,但这给了我错误
Channel pear.php.net does not support xml-rpc method channel.listAll
由于某种原因,它在我运行时起作用
pear channel-update pear.phpunit.de
【讨论】:
【参考方案9】:您还需要使用pear channel-discover components.ez.no
发现 ezcomponents 频道
总共:
sudo pear channel-discover pear.phpunit.de
sudo pear channel-discover pear.symfony-project.com
sudo pear channel-discover components.ez.no
sudo pear install --alldeps phpunit/PHPUnit
您可以快速检查是否从 CLI 运行 phpunit 并查看该命令是否被识别。
更新
好像他们已经搬走了 symfony,我今天刚重新安装,这是新频道
sudo pear channel-discover pear.symfony.com
【讨论】:
【参考方案10】:我在安装 phpunit 时遇到了同样的问题。尝试使用Synaptic package manager 安装 PHPUnit。
sudo pear install pear # upgrade pear first
#install php unit with synaptic manager
phpunit --version # get version of phpunit
【讨论】:
【参考方案11】:多年来,我一直在努力让 ZEND 等在 Windows Vista 上的 XAMPP 上工作。作为参考,这就是我解决它的方法:-
无法更新 PEAR,然后我意识到它的默认路径设置错误,我更正了本指南...
http://david-franklin.net/programming/installing-pear-phpunit-on-windows/
然后我设法通过pear clear_cache
命令安装了PHPUNIT,这要归功于这个线程,然后运行“pear install phpunit/PHPunit”。
我希望我上面写的内容可以作为那些处于类似困境中的人的快速代码(我花了整整 2 天的时间才让它工作!!!)
【讨论】:
请不要添加“谢谢”作为答案。在网站上投入一些时间,您将获得足够的 privileges 来为您喜欢的答案投票,这是 Stack Overflow 表达感谢的方式。【参考方案12】:我遇到了没有所需依赖项 YAML 的问题,因此每次都会收到警告。
试试
pear channel-discover pear.symfony.com
pear install pear.symfony.com/Yaml
然后再次运行下载
pear install --alldeps pear.phpunit.de/PHPUnit
【讨论】:
【参考方案13】:首先应该将所有xampp安装到C:\xampp
打开命令提示符并转到 C:\xampp\php
在cmd中输入以下命令
pear update-channels
"(更新频道定义)
pear upgrade
(升级所有现有的包和梨)
pear channel-discover components.ez.no
(PHPUnit 需要这个)
pear channel-discover pear.symfony-project.com
(PHPUnit 也需要)
pear channel-discover pear.phpunit.de
(这是 phpunit)
pear install --alldeps phpunit/PHPUnit
(安装 PHPUnit 和所有依赖项)
【讨论】:
以上是关于通过 PEAR 安装 PHPUnit的主要内容,如果未能解决你的问题,请参考以下文章