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"
sorcier
la source

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 .

Tomáš Votruba
la source
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
fico7489
la source
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