如何使用PEAR正确安装PHPUnit?

时间:2012-09-21 19:04:02

标签: php symfony1 phpunit yaml pear

我不得不在these directions之后卸载并重新安装更新版本的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

如果我通过启动

安装Yaml
sudo pear install symfony/YAML

将安装不符合PHPUnit依赖性的旧版本(1.0.6)。我怎么可能解决这个问题?

8 个答案:

答案 0 :(得分:85)

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

这解决了这个问题:

pear channel-discover pear.symfony.com
pear install pear.symfony.com/Yaml

然后运行:

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

OBS:我认为pear install pear.symfony.com/Yaml没有必要。我只是发布它,因为它正是我解决问题的方式。

答案 1 :(得分:10)

使用这个,如in the PHPUnit docs所述:(我不知道sudo的意思,这就是我在Windows PC上的做法):

pear config-set auto_discover 1
pear install pear.phpunit.de/PHPUnit

答案 2 :(得分:5)

我也有此错误消息:

  

未知远程频道: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

答案 3 :(得分:2)

首先:locate 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

我知道有一种更自动化的方式来安装它:go-pear(http://pear.php.net/manual/en/installation.getting.php

然而,如果你已经安装了一些梨,那么它将完全破坏一切,你会花很多时间来修复它。我认为最大的障碍是能够告诉所有图书馆彼此在哪里。

答案 4 :(得分:0)

sudo pear install -a phpunit
sudo pear channel-discover pear.phpunit.de

我有类似的问题抱怨“未知的远程频道:pear.symfony.com”。 不得不做(没有sudo,我得到奇怪的错误,无法打开一些文件)

sudo pear channel-discover pear.symfony.com

然后

sudo pear install phpunit/PHPUnit

现在我可以在/ usr / bin中看到phpunit

答案 5 :(得分:0)

PutzKipa提到的过程有效但您可能需要超级用户权限。对于ubuntu,在每个命令之前添加sudo。

答案 6 :(得分:0)

继PlínioCésar之后,我终于解决了这个问题,但略有不同:

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

sudo pear install pear.symfony.com/Yaml

sudo pear channel-discover pear.phpunit.de

sudo pear config-set auto_discover 1

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

感谢Plinio Cesar !!!

答案 7 :(得分:0)

在Ubuntu,Debian,Fedora或OpenSUSE中获取PHPUnit的最简单方法是下载一个PHP Archive(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   

https://phar.phpunit.de/有许多不同版本的phpunit.phar。如果您使用第一个命令,它将选择并下载最新版本。

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

参考:What is /usr/local/bin? Came across it in an script installation for Applescript but would like to know more