Il compositore richiede il nome del ramo


106

Ad esempio, voglio richiedere:

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

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

In questo esempio provo a richiedere google/apiclientsul ramo v1-master. Ottengo errore:

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

Risposte:


186

È necessario anteporre a tutti i rami dev (= non etichettati) dev-.

Per installare il ramo di cui hai bisogno, usa:

composer require google/apiclient:dev-v1-master

Vedi i documenti del compositore .


1
Informazioni utili. Grazie!
Matt Komarnicki

Lo sto provando su una macchina Windows ma non riesco a trovare il comando corretto per eseguire Composer per scaricare un pacchetto dal repository git. Quindi mi aiuti per favore?
Sr. PHP Programmer Team Lead

Aggiungere il prefisso "dev-" è solo nel comando del compositore. Non è necessario modificare nulla nel nome dei rami del repository
Silas Ribas Martins

Non è stato possibile reinstallare il ramo aggiornato anche con --no-cache, quindi ho usato questo:composer require google/apiclient:dev-v1-master#COMMITHASH
M Rostami

46

questo funzionerà:

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

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

quindi il pattern è "dev- *", se il nome del ramo è "bug-fix" allora "dev-bug-fix"

con riga di comando:

composer require google/apiclient:dev-BRANCH_NAME

4
Grazie per aver spiegato lo schema "dev- *"
Emeka Mbah

4
Se hai biforcato il repository principale, non cambiare il nome del fornitore nella parte richiesta. Forchetta: "url": "https://github.com/your-username/google-api-php-client.git"ma richiede soggiorni: googlevenditore.
Vladimir Vukanac

1
@VladimirVukanac quel piccolo gioiello ha bisogno di più visibilità!
Jacob Thomason,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.