Подтвердить что ты не робот

Как правильно установить PHPUnit с 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 found

Если я установлю только Yaml, запустив

sudo pear install symfony/YAML

будет установлена ​​более старая версия (1.0.6), которая не соответствует зависимости PHPUnit. Как я могу это решить?

4b9b3361

Ответ 1

У меня была такая же проблема при обновлении моего 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 не требуется. Я просто отправляю его, потому что именно так я решил свою проблему.

Ответ 2

Используйте это, как описано в документах PHPUnit: (я не понимаю, что такое sudo, так я это делаю на ПК с Windows):

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

Ответ 3

У меня также было это сообщение об ошибке:

Неизвестный удаленный канал: 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

Ответ 4

Сначала: 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)

Однако, если у вас уже есть какая-то другая установка груши, она полностью разрушит все, и вы потратите немало времени, пытаясь ее исправить. Я думаю, что самое большое препятствие - это рассказать обо всех библиотеках, где находятся друг друга.

Ответ 5

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

Теперь я могу видеть phpunit в моем/usr/bin

Ответ 6

Процесс, упомянутый PutzKipa, работает, однако вам могут потребоваться привилегии суперпользователя. Для ubuntu добавьте sudo перед каждой командой.

Ответ 7

Следуя Plínio César, я решил это окончательно, но с небольшим изменением:

Сначала я удалил "sudo apt-get remove phpunit", чтобы удалить неисправную установку. Затем, используя грушу, выполните установку phpunit:

sudo pear install pear.symfony.com/Yaml

sudo pear channel-find pear.phpunit.de

Конфигурация sudo pear auto_discover 1

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

Спасибо Plinio Cesar!!!

Ответ 8

Самый простой способ получить PHPUnit в Ubuntu, Debian, Fedora или OpenSUSE - загрузить архив 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 в https://phar.phpunit.de/. Если вы используете первую команду, она выберет и загрузит последнюю версию.

Примечание. Путь /usr/local/bin/ в последней команде верен для дистрибутивов Ubuntu, Debian, Fedora и OpenSUSE, а также для других дистрибутивов Linux, которые имеют каталог /usr/local/bin/.

Ссылка: Что такое /usr/local/bin? Вышел через него в установке script для Applescript, но хотел бы знать больше