Kompozytor wymaga nazwy gałęzi


106

Na przykład chcę wymagać:

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

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

W tym przykładzie próbuję wymusić google/apiclientna gałęzi v1-master. Pojawia się błąd:

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

Odpowiedzi:


188

Musisz poprzedzić wszystkie gałęzie dev (= nieoznaczone) znakiem dev-.

Aby zainstalować potrzebną gałąź, użyj:

composer require google/apiclient:dev-v1-master

Zobacz dokumentację kompozytora .


1
Przydatne informacje. Dzięki!
Matt Komarnicki

Próbuję tego na komputerze z systemem Windows, ale nie mogę znaleźć odpowiedniego polecenia do uruchomienia programu Composer w celu pobrania pakietu z repozytorium git. Więc proszę o pomoc w tej sprawie?
Starszy kierownik zespołu programistów PHP

Dodaj przedrostek „dev-” jest tylko w poleceniu kompozytora. Nie musisz nic zmieniać w nazwie gałęzi repozytorium
Silas Ribas Martins

Nie można ponownie zainstalować zaktualizowanej gałęzi nawet z --no-cache, więc użyłem tego:composer require google/apiclient:dev-v1-master#COMMITHASH
M Rostami

46

to zadziała:

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

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

więc wzorzec to "dev- *", jeśli nazwa gałęzi to "bug-fix", to "dev-bug-fix"

z linią poleceń:

composer require google/apiclient:dev-BRANCH_NAME

4
Dzięki za wyjaśnienie wzoru „dev- *”
Emeka Mbah

4
Jeśli rozwidliłeś główne repozytorium, nie zmieniaj nazwy dostawcy w wymaganej części. Widelec: "url": "https://github.com/your-username/google-api-php-client.git"ale wymaga pobytów: googlesprzedawca.
Vladimir Vukanac

1
@VladimirVukanac ten mały klejnot potrzebuje większej widoczności!
Jacob Thomason,
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.