Composer: Commande de désinstallation/unrequire pour les dépendances globales

Créé le 12 mai 2014  ·  3Commentaires  ·  Source: composer/composer

Il serait vraiment intéressant d'avoir une commande pour désinstaller un paquet.

Il est vrai que pour un projet particulier, on peut directement éditer le fichier composer.json , mais lorsque la librairie est installée en mode global, il faut changer le fichier composer.json dans le dossier défini par COMPOSER_HOME , ce qui n'est franchement pas facile !

Je prends un exemple avec PHPUnit :

Depuis la version 4.0, il est recommandé d'utiliser Composer (en mode global) à la place de PEAR. Ok, c'est cool, on utilise notre outil préféré de gestion des dépendances, et on suit la documentation pour l'installation :

$ composer.phar global require "phpunit/phpunit=4.0.*"

Sauf que désormais, une nouvelle mise à jour est disponible, la 4.1. Une simple mise à jour ne passe pas à la version supérieure, et changer le numéro de version en ligne de commande n'est pas possible :

$ composer.phar global require "phpunit/phpunit=4.1.*"

Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - Can only install one of: phpunit/phpunit-mock-objects[2.1.0, 2.0.5].
    - Can only install one of: phpunit/phpunit-mock-objects[2.1.0, 2.0.5].
    - phpunit/phpunit 4.1.0 requires phpunit/phpunit-mock-objects ~2.1 -> satisfiable by phpunit/phpunit-mock-objects[2.1.0].
    - Installation request for phpunit/phpunit 4.1.* -> satisfiable by phpunit/phpunit[4.1.0].
    - Installation request for phpunit/phpunit-mock-objects == 2.0.5.0 -> satisfiable by phpunit/phpunit-mock-objects[2.0.5].

Il faut donc modifier manuellement le fichier global composer.json , ce qui n'est pas facile.

Le problème se pose également lorsque l'on veut tester ou utiliser temporairement une librairie en mode global : impossible de désinstaller facilement en ligne de commande.

Est-il possible d'ajouter cette commande ? Je pense que ce serait très utile car Composer peut installer des bibliothèques en mode global.

Commentaire le plus utile

Pour tous ceux qui viennent de Google, il y a composer global remove maintenant disponible.

Par exemple:

composer global remove fabpot/php-cs-fixer

Tous les 3 commentaires

duplicata de https://github.com/composer/composer/issues/1622 (une fois que composer unrequire sera implémenté, il sera également disponible en mode global automatiquement)

@stof Désolé, mais j'ai vérifié avant de créer ce problème.

Pour tous ceux qui viennent de Google, il y a composer global remove maintenant disponible.

Par exemple:

composer global remove fabpot/php-cs-fixer
Cette page vous a été utile?
0 / 5 - 0 notes