2012-09-01 14 views
9

Powiedz na przykład, że chcesz użyć pakietu od kogoś innego, ale chcesz wprowadzić pewne modyfikacje. Tak zrobić swoje modyfikacje w jakiejś nowej branży, jak i skonfigurować comspoer.json:Użyj Kompozytor bez Packagist

{ 
    "require": { 
     "sylius/assortment-bundle": "dev-soft-deleteable-products-disabled" 
    }, 
    "repositories": [ 
     { 
      "type": "package", 
      "package": { 
       "name": "sylius/assortment-bundle", 
       "version": "1.0", 
       "autoload": { "psr-0": { "Sylius\\Bundle\\AssortmentBundle": "" } }, 
       "target-dir": "Sylius/Bundle/AssortmentBundle", 
       "source": { 
        "url": "https://github.com/umpirsky/SyliusAssortmentBundle.git", 
        "type": "git", 
        "reference": "soft-deleteable-products-disabled" 
       } 
      } 
     } 
    ] 
} 

to działa z głównego oddziału, ale z niestandardowej branży daje: The requested package sylius/assortment-bundle dev-soft-deleteable-products-disabled could not be found.

Każdy pomysł?

Odpowiedz

28

Powinieneś naprawdę używać repozytorium VCS zamiast repozytorium pakietów. Pakiet jest przeznaczony na czas, gdy nie ma pliku composer.json i zamiast tego chcesz go wstawić. W twoim przypadku jest composer.json, dzięki czemu można korzystać z repo VCS, tak:

"repositories": [ 
    { 
     "type": "vcs", 
     "url": "https://github.com/umpirsky/SyliusAssortmentBundle" 
    } 
] 

Kompozytor będzie w tym przypadku użyć API GitHub pobrać nazwy gałęzi i sprawdzić, czy istnieje wersja dev-soft-deleteable-products-disabled. Jeśli tak, sklonuje repozytorium i sprawdzi wspomnianą gałąź.

Mam nadzieję, że jeśli zrobisz to jako efekt uboczny, twój problem zostanie rozwiązany.

Aby uzyskać więcej informacji, przeczytaj dokumentację chapter on repositories.

+1

Dzięki, to się udało. Nie wiedziałem, że repozyty można określić tak, to jest niesamowite. – umpirsky

+2

Dodano link do dokumentów, jeśli chcesz przeczytać więcej. – igorw

1

Gdy próbuje to zrobić dla prywatnej repozytorium powinien wypróbować Private Packagist który jest repozytorium Kompozytor jak Packagist który pozwala na wprowadzenie własnych repozytoriów bez konieczności podawania ich do wiadomości publicznej.

Powiązane problemy