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.