Мне пришлось удалить и переустановить новую версию 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
будет установлена более старая версия (1.0.6), которая не соответствует зависимости PHPUnit. Как я могу это решить?
У меня была такая же проблема при обновлении моего 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
не требуется. Я просто отправляю его, потому что именно так я решил свою проблему.
Используйте это, как описано в документах PHPUnit : (я не понимаю, что такое sudo, так я это делаю на ПК с Windows):
pear config-set auto_discover 1 pear install pear.phpunit.de/PHPUnit
У меня также было это сообщение об ошибке:
Неизвестный удаленный канал: 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
Во-первых: 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 )
Однако, если у вас уже есть какая-то другая установка груши, она полностью разрушит все, и вы потратите довольно много времени, пытаясь это исправить. Я думаю, что самое большое препятствие – это рассказать обо всех библиотеках, где находятся друг друга.
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
Процесс, упомянутый PutzKipa, работает, однако вам могут потребоваться привилегии суперпользователя. Для ubuntu добавьте sudo перед каждой командой.
Следуя Плинио Сезару, я решил это окончательно, но с небольшими вариациями:
Сначала я удалил «sudo apt-get remove phpunit», чтобы удалить неисправную установку. Затем, используя грушу для установки phpunit:
sudo груша установить 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 !!!
Самый простой способ получить 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/
The /usr/local/bin/
path в последней команде верен для дистрибутивов Ubuntu, Debian, Fedora и OpenSUSE, а также для других дистрибутивов Linux, в которых есть каталог /usr/local/bin/
.
Ссылка: Что такое / usr / local / bin? Вышел через него в установке скрипта для Applescript, но хотел бы знать больше