53 votes

Compositeur - Le paquet demandé existe en tant que mais ces derniers sont rejetés par votre contrainte

Quand je lance mon installation de compositeur, j'ai cette erreur :

λ compositeur installer Vous exécutez compositeur avec xdebug activé. Cela a un impact majeur sur les performances d'exécution. Voir https://getcomposer.org/xdebug Chargement compositeur des référentiels avec des informations sur le package La mise à jour des dépendances (y compris exiger-dev) Vos exigences n'a pas pu être résolu à un " ensemble de paquets.

Erreur :

Problème 1 - Le paquet demandé antoineb1/smoney_bundle 1.0 existe antoineb1/smoney_bundle[dev-master] mais ceux-ci sont rejetées par votre contrainte.

Mon compositeur.json

{
    "name": "project",
    "license": "proprietary",
    "type": "project",
    "minimum-stability": "dev",
    "prefer-stable" : true,
    "autoload": {
        "psr-4": {
            "": "src/"
        }
    },
    "config": {
        "preferred-install": "dist"
    },
    "repositories": [
        {
            "url": "bitbucket url",
            "type": "vcs"
        }
    ],
    "require": {
        "php": ">=5.5.9",
        "antoineb1/smoney_bundle": "1.0"
    }
}

39voto

BVengerov Points 2051

La version contrainte "1.0" est interprété en interne comme "1.0.0.0-stable" version.

Mais la seule version disponible est:

antoineb1/smoney_bundle[dev-master].

Si vous pouviez changer la version spécifiée à l'une des procédures suivantes en fonction de la version qui vous convient:

  • 1.0.* (ce qui est vu par le compositeur - >=1.0.0.0-dev <1.1.0.0-dev -- probablement ne fonctionne pas car il ne sont évidemment pas toutes les versions dans ce forfait)
  • dev-master
  • dev-master#<hash>
  • @dev
  • etc.

Voir le compositeur schéma de référence.

13voto

MikeiLL Points 410

Le commentaire de @Guillaume-dessous de cette réponse mérite une présentation plus développée.

Il semble que le compositeur veut un git version qui a un v en elle.

Il devrait donc être v1.1.0 et pas 1.1.0.

J'ai passé environ 90 minutes à regarder

mikeill/my_repo 3.3.10 requires composer/installers 1.0.*@dev -> satisfiable by composer/installers[1.0.x-dev, v1.0.0, ...] but these conflict with your requirements or minimum-stability.

Et beaucoup de github questions ainsi que d'une SORTE de post ou deux avant d'enfin découvrir ce fil.

8voto

OllieLowson Points 11

J'ai perdu une quantité importante de cheveux, de temps et de bon sens sur cette question pendant un certain temps - il s'est avéré que le problème dans mon cas c'est que j'étais en spécifiant la version du compositeur.json dans le paquet lui-même comme "dev-master".

Reportez-vous à: https://getcomposer.org/doc/04-schema.md#version

Où il est dit:

Remarque: Packagist utilise des systèmes de gestion de versions, de sorte que la déclaration ci-dessus est très vrai pour Packagist ainsi. La spécification de la version de vous-même sera plus susceptible de créer des problèmes à un certain point en raison d'une erreur humaine.

(l'emphase est mienne)

J'ai enlevé cette version de l'élément et il a parfaitement fonctionné :)

2voto

sibaz Points 26

Je suis tombé sur cette question, et a trouvé une autre question, que j'avais complètement oublié, quelqu'un qui peut trouver utile de vérifier.

Dans mon cas, j'ai eu un très vieux projet git, qui avait été fourche quelque temps, et j'ai eu à les fusionner ensemble (quoique la fourche projet n'avait pas eu beaucoup de modifications). Donc, j'ai identifié le point de split sur l'ancien projet, et marqué comme version pour le compositeur, afin que je puisse l'utiliser à la place de la nouveau projet.

Ce que j'avais oublié, cependant, était que, à l'origine, nous n'utilisons pas le compositeur. Si le fichier de structure de la balise point manquait compositeur.json. Je ne comprenais pas pourquoi mes nouvelles balises n'apparaissent pas sur le "existe" liste de choses qui ont été "rejetée par la contrainte'. Finalement, j'ai réalisé que je devais créer une branche sur l'ancienne étiquette, choisir le commit qui a créé le compositeur.json pour le projet, et de modifier le balisage, et ensuite, tout a fonctionné.

J'espère que ce sera de jogging quelqu'un à la mémoire, si elles viennent à la chasse avec ce message d'erreur à l'esprit.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X