web-dev-qa-db-fra.com

Comment installer correctement PHPUnit avec PEAR?

J'ai dû désinstaller et réinstaller une version plus récente de PHPUnit en suivant ces instructions . Maintenant, quand je lance cette ligne

Sudo pear install --alldeps phpunit/PHPUnit

Je vois un message d'erreur qui ressemble à ceci.

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

Si j'installe juste Yaml en lançant

Sudo pear install symfony/YAML

une ancienne version (1.0.6) sera installée qui ne répond pas à la dépendance de PHPUnit. Comment puis-je éventuellement résoudre ce problème?

40
twigmac

J'ai eu le même problème lors de la mise à niveau de mon phpunit.

Cela a résolu le problème:

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

Exécutez ensuite:

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

OBS: Je pense que le pear install pear.symfony.com/Yaml n'est pas nécessaire. Je le poste simplement parce que c'est exactement la façon dont j'ai résolu mon problème.

85
PutzKipa

Utilisez ceci, comme décrit dans les documents PHPUnit : (je ne sais pas ce que veut dire Sudo, c'est comme ça que je le fais sur un PC Windows):

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

J'ai également eu ce message d'erreur:

Canal distant inconnu: pear.symfony.com

Résolution de la création d'un alias:

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

puis

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
Paulo

Premier: locate pear vous pouvez avoir plusieurs versions installées et cela pourrait être un problème.

Au travail, nous avons quelque chose comme ça dans notre 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

Je sais qu'il existe un moyen plus automatisé de l'installer en utilisant: go-pear ( http://pear.php.net/manual/en/installation.getting.php )

Cependant, si vous avez déjà une autre installation de pear, cela va tout détruire et vous passerez un certain temps à essayer de le réparer. Je pense que le plus gros obstacle est de pouvoir dire à toutes les bibliothèques où elles se trouvent.

2
Parris

Le moyen le plus simple d'obtenir PHPUnit dans Ubuntu, Debian, Fedora ou OpenSUSE est de télécharger une archive PHP (PHAR) qui a toutes les dépendances requises (ainsi que certaines facultatives) de PHPUnit regroupées en une seule fichier.

Ouvrez le terminal et saisissez:

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   

Il existe de nombreuses versions différentes de phpunit.phar sur https://phar.phpunit.de/ . Si vous utilisez la première commande, elle sélectionnera et téléchargera la dernière version.

Noter la /usr/local/bin/ le chemin dans la dernière commande est correct pour les distributions Ubuntu, Debian, Fedora et OpenSUSE et aussi pour les autres distributions Linux qui ont un /usr/local/bin/ répertoire.

Référence: Qu'est-ce que/usr/local/bin? Je l'ai rencontré dans une installation de script pour Applescript mais j'aimerais en savoir plus

0
karel

Le processus mentionné par PutzKipa fonctionne mais vous pourriez avoir besoin de privilèges de super utilisateur. Pour ubuntu, ajoutez Sudo avant chaque commande.

0
Bimal
Sudo pear install -a phpunit
Sudo pear channel-discover pear.phpunit.de

J'ai rencontré un problème similaire concernant "Canal distant inconnu: pear.symfony.com". a dû faire (sans Sudo, j'ai eu une erreur bizarre sur ne peut pas ouvrir un fichier)

Sudo pear channel-discover pear.symfony.com

ensuite

Sudo pear install phpunit/PHPUnit

Maintenant, je peux voir phpunit dans mon/usr/bin

0
Jie Qin

Après Plínio César, je l'ai finalement résolu, mais avec une légère variation:

J'ai d'abord fait un "Sudo apt-get remove phpunit" pour supprimer l'installation défectueuse. Puis en utilisant pear pour faire l'installation de phpunit:

Sudo pear install pear.symfony.com/Yaml

Sudo pear channel-découvrez pear.phpunit.de

Sudo pear config-set auto_discover 1

Installation de Sudo Pear --alldeps pear.phpunit.de/PHPUnit

Merci Plinio Cesar !!!

0
Peter Teoh