Le compositeur requiert un nom de branche


106

Par exemple, je souhaite exiger:

{
  "repositories": [
    {
      "type": "git",
      "url": "https://github.com/google/google-api-php-client.git"
    }
  ],

  "require": {
    "google/apiclient": "v1-master"
  }
}

Dans cet exemple, j'essaie d'exiger google/apiclientsur la branche v1-master. J'obtiens une erreur:

  [UnexpectedValueException]                                                        
  Could not parse version constraint v1-master: Invalid version string "v1-master"

Réponses:


186

Vous devez préfixer toutes les branches de développement (= non étiquetées) par dev-.

Pour installer la branche dont vous avez besoin, utilisez:

composer require google/apiclient:dev-v1-master

Voir la documentation du compositeur .


1
Informations pratiques. Merci!
Matt Komarnicki

J'essaye cela sur une machine Windows mais je n'arrive pas à trouver la commande correcte pour exécuter composer pour télécharger un package à partir du référentiel git. Alors, s'il vous plaît, aidez-vous là-dessus?
Sr. PHP Programmer Team Lead

Ajouter le préfixe «dev-» est uniquement dans la commande composer. Vous n'avez pas besoin de changer quoi que ce soit dans le nom des branches du référentiel
Silas Ribas Martins

Impossible de réinstaller la branche mise à jour même avec --no-cache, alors j'ai utilisé ceci:composer require google/apiclient:dev-v1-master#COMMITHASH
M Rostami

46

cela fonctionnera:

{
  "repositories": [
    {
      "type": "git",
      "url": "https://github.com/google/google-api-php-client.git"
    }
  ],

  "require": {
    "google/apiclient": "dev-BRANCH_NAME"
  }
}

donc le motif est "dev- *", si le nom de votre branche est "bug-fix" alors "dev-bug-fix"

avec la ligne de commande:

composer require google/apiclient:dev-BRANCH_NAME

4
Merci d'avoir expliqué le modèle "dev- *"
Emeka Mbah

4
Si vous avez forké le référentiel principal, ne modifiez pas le nom du fournisseur dans la partie requise. Fourche: "url": "https://github.com/your-username/google-api-php-client.git"mais nécessite des séjours: googlevendeur.
Vladimir Vukanac

1
@VladimirVukanac ce petit bijou a besoin de plus de visibilité!
Jacob Thomason
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.