Как правильно установить 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. Как я могу это решить?
Ответы
Ответ 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, но хотел бы знать больше