如何使用PEAR正确安装PHPUnit?

如何使用PEAR正确安装PHPUnit?,php,symfony1,phpunit,yaml,pear,Php,Symfony1,Phpunit,Yaml,Pear,我不得不按照下面的说明重新安装更新版本的PHPUnit。现在当我推出这条线的时候 sudo pear install --alldeps phpunit/PHPUnit 我看到一条错误消息,看起来像这样 Unknown remote channel: pear.symfony.com phpunit/PHPUnit requires package "channel://pear.symfony.com/Yaml" (version >= 2.1.0) No valid packages

我不得不按照下面的说明重新安装更新版本的PHPUnit。现在当我推出这条线的时候

sudo pear install --alldeps phpunit/PHPUnit
我看到一条错误消息,看起来像这样

Unknown remote channel: pear.symfony.com
phpunit/PHPUnit requires package "channel://pear.symfony.com/Yaml" (version >= 2.1.0)
No valid packages found
如果我通过启动

sudo pear install symfony/YAML

将安装不符合PHPUnit依赖项的旧版本(1.0.6)。我怎样才能解决这个问题呢?

首先:
查找pear
您可能安装了多个版本,这可能会让您感到痛苦

在工作中,我们的内部网中有类似的内容:

sudo [your pear install] channel-update pear.php.net  
sudo [your pear install] upgrade pear  
sudo [your pear install] channel-discover pear.phpunit.de  
sudo [your pear install] install --alldeps phpunit/PHPUnit
我知道有一种自动化程度更高的安装方法:GoPear()

然而,如果你已经安装了一些其他的pear,它将完全破坏一切,你将花费相当多的时间来修复它。我认为最大的障碍是能够告诉所有的库彼此在哪里。

使用如下描述的方法:(我不知道sudo的意思,这是我在windows PC上的操作方式):


升级phpunit时,我也遇到了同样的问题

这就解决了问题:

pear channel-discover pear.symfony.com
pear install pear.symfony.com/Yaml
然后运行:

pear install --alldeps pear.phpunit.de/PHPUnit

OBS:我认为没有必要安装pear.symfony.com/Yaml。我之所以发布它,是因为这正是我解决问题的方法。

我还收到了以下错误消息:

未知远程频道:pear.symfony.com

解决了创建别名的问题:

pear channel-alias pear.symfony-project.com pear.symfony.com
然后

channel-discover pear.symfony-project.com

sudo pear channel-discover components.ez.no

sudo pear update-channels

sudo pear upgrade-all

sudo pear install --force --alldeps phpunit/PHPUnit
我在抱怨“未知的远程频道:pear.symfony.com”时也遇到了类似的问题。 不得不这么做(没有sudo,我就出现了一个奇怪的错误:无法打开某个文件)

然后


现在我可以在PutzKipa works提到的my/usr/bin

过程中看到phpunit,但是您可能需要超级用户权限。对于ubuntu,在每个命令之前添加sudo。

在Plínio César之后,我最终解决了它,但略有变化:

首先,我做了一个“sudo apt get remove phpunit”来删除错误的安装。然后使用pear进行phpunit安装:

sudo pear安装pear.symfony.com/Yaml

sudo pear channel discover pear.phpunit.de

sudo pear配置集自动搜索1

sudopear安装——alldeps pear.phpunit.de/phpunit


谢谢普林尼奥·塞萨尔

在Ubuntu、Debian、Fedora或OpenSUSE中获取PHPUnit的最简单方法是下载一个PHP归档(PHAR),它将PHPUnit的所有必需(以及一些可选)依赖项捆绑在一个文件中

打开终端并键入:

wget https://phar.phpunit.de/phpunit.phar  # download the PHP Archive (PHAR) file  
chmod +x phpunit.phar   
sudo mv phpunit.phar /usr/local/bin/phpunit   
上有许多不同版本的phpunit.phar。如果使用第一个命令,它将选择并下载最新版本

注意:最后一个命令中的
/usr/local/bin/
路径对于Ubuntu、Debian、Fedora和OpenSUSE发行版以及具有
/usr/local/bin/
目录的其他Linux发行版都是正确的


参考资料:

这确实有效,现在我明白了为什么它事先没有起作用。symfony项目运营两个不同的pear渠道。适用于版本1和版本2。只有后者包含PHPUnit所需的YAML2。谢谢你,普茨基帕!是的,安装PHPUnit不需要命令
pear install pear.symfony.com/Yaml
;sudo ln-s/home/my克隆的github repo dir/php代码覆盖率/php/CodeCoverage.php./php/CodeCoverage.php;sudo ln-s/home/my克隆的github repo dir/PHP/CodeCoverage./PHP/CodeCoverage;#“我在ubuntu 12.04上”这个过程也没有解决我所说的问题。YAML的安装版本是过时的。以及教义的其他组成部分,也无助于重新设置PEAR。期待您的回答。:)这个过程也无助于解决我的问题。但我用另一种方式解决了。太棒了!我总是很难找到所需的通道,我经常安装它。你救了我三天的头痛。我不得不去投票表决你所有的答案:)梨给我带来了麻烦。这为我解决了问题:
sudo pear install -a phpunit
sudo pear channel-discover pear.phpunit.de
sudo pear channel-discover pear.symfony.com
sudo pear install phpunit/PHPUnit
wget https://phar.phpunit.de/phpunit.phar  # download the PHP Archive (PHAR) file  
chmod +x phpunit.phar   
sudo mv phpunit.phar /usr/local/bin/phpunit