40

我不得不按照这些说明卸载并重新安装较新版本的 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)。我怎么可能解决这个问题?

4

8 回答 8

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没有必要。我只是发布它,因为这正是我解决问题的方式。

于 2012-09-22T16:41:48.257 回答
10

使用它,如PHPUnit 文档中所述:(我不是 sudo 的意思,这是我在 Windows PC 上的操作方式):

pear config-set auto_discover 1
pear install pear.phpunit.de/PHPUnit
于 2012-09-22T08:59:04.530 回答
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
于 2012-10-20T18:23:35.713 回答
2

首先:locate pear您可能安装了多个版本,这可能会很痛苦。

在工作中,我们的 Intranet 中有这样的内容:

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 )

但是,如果您已经安装了其他梨,它将完全破坏一切,您将花费相当长的时间尝试修复它。我认为最大的障碍是能够告诉所有图书馆彼此在哪里。

于 2012-09-21T19:36:25.330 回答
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

于 2013-04-01T18:27:22.540 回答
0

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

于 2013-04-02T06:37:43.687 回答
0

在 Plínio Cé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

谢谢普林尼奥塞萨尔!!!

于 2014-02-16T03:04:22.413 回答
0

在 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   

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

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

参考:什么是/usr/local/bin?在 Applescript 的脚本安装中遇到它,但想了解更多

于 2014-10-02T08:50:03.490 回答