¿Cómo instalo correctamente PHPUnit con PEAR?


He tenido que desinstalar y reinstalar una versión más reciente de PHPUnit siguiendo estas instrucciones. Ahora cuando estoy lanzando esta línea

sudo pear install --alldeps phpunit/PHPUnit

Veo un mensaje de error, que se parece a esto.

Unknown remote channel: pear.symfony.com
phpunit/PHPUnit requires package "channel://pear.symfony.com/Yaml" (version >= 2.1.0)
No valid packages found

Si instalo solo Yaml lanzando

sudo pear install symfony/YAML

Se instalará una versión anterior (1.0.6) que no cumple con la dependencia de PHPUnit. ¿Cómo puedo resolver esto?

Author: Community, 2012-09-21

8 answers

Tuve el mismo problema al actualizar mi phpunit.

Esto resolvió el problema:

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

Luego ejecute:

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

OBS: Creo que el pear install pear.symfony.com/Yaml no es necesario. Solo lo estoy publicando porque es exactamente la forma en que resolví mi problema.

 85
Author: PutzKipa,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-09-22 16:41:48

Use esto, como se describe en los documentos de PHPUnit: (no sé lo que significa sudo, así es como lo hago en un PC con Windows):

pear config-set auto_discover 1
pear install pear.phpunit.de/PHPUnit
 10
Author: Wouter J,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-09-22 08:59:04

También tuve este mensaje de error:

Canal remoto desconocido: pear.symfony.com

Resuelto creando un alias:

pear channel-alias pear.symfony-project.com pear.symfony.com

Y luego

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
 5
Author: Paulo,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-10-20 18:23:35

Primero: locate pear es posible que tenga varias versiones instaladas y esto podría ser un dolor.

En el trabajo tenemos algo como esto en nuestra 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

Sé que hay una forma más automatizada de instalarlo usando: go-pear ( http://pear.php.net/manual/en/installation.getting.php )

Sin embargo, si ya tiene alguna otra instalación de pear, arruinará todo por completo y pasará bastante tiempo tratando de arreglarlo. Creo que el mayor obstáculo es ser capaz de dile a todas las bibliotecas dónde están.

 2
Author: Parris,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-09-21 19:36:25
sudo pear install -a phpunit
sudo pear channel-discover pear.phpunit.de

Tuve un problema similar quejándome de "Canal remoto desconocido: pear.symfony.com". tenía que hacer (sin sudo, tengo un error extraño sobre no se puede abrir algún archivo)

sudo pear channel-discover pear.symfony.com

Entonces

sudo pear install phpunit/PHPUnit

Ahora puedo ver phpunit en mi /usr/bin

 0
Author: Jie Qin,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-04-01 18:27:22

El proceso mencionado por PutzKipa funciona sin embargo es posible que necesite privilegios de superusuario. Para ubuntu agregue sudo antes de cada comando.

 0
Author: Bimal,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-04-02 06:37:43

Siguiendo a Plínio César, lo resolví finalmente, pero con una ligera variación:

Primero hice un "sudo apt-get remove phpunit" para eliminar la instalación defectuosa. Luego usando pear para hacer la instalación de phpunit:

Sudo pear install pear.symfony.com/Yaml

Sudo pear channel-descubrir pear.phpunit.de

Sudo pear config-set auto_discover 1

Sudo pear install all alldeps pear.phpunit.de/PHPUnit

Gracias Plinio Cesar!!!

 0
Author: Peter Teoh,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-02-16 03:04:22

La forma más fácil de obtener PHPUnit en Ubuntu, Debian, Fedora u openSUSE es descargar un archivo PHP (PHAR) que tenga todas las dependencias requeridas (así como algunas opcionales) de PHPUnit incluidas en un solo archivo.

Abra el terminal y escriba:

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   

Hay muchas versiones diferentes de phpunit.phar at https://phar.phpunit.de / . Si utiliza el primer comando, seleccionará y descargará la última versión.

Nota: La ruta /usr/local/bin/ en el último comando es correcto para distribuciones Ubuntu, Debian, Fedora y openSUSE y también para otras distribuciones de Linux que tienen un directorio /usr/local/bin/.

Referencia: ¿Qué es / usr / local / bin? Lo encontré en una instalación de script para Applescript, pero me gustaría saber más

 0
Author: karel,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-04-13 12:36:24