2013-08-13 14 views
9

Próbujesz zainstalować KnpGaufretteBundle w projekcie Symfony 2.3, nie mam szczęścia. Problem jest następujący:Kompozytor: jak zainstalować pakiety `dev` w Symfony 2.3?

  1. minimum-stability:stable (w composer.json);
  2. Wymagany pakiet to wersja dev-master.

Reading this w docs Symfony było frustrujące:

Jeśli znasz chłodnym wiązki lub biblioteki PHP, który nadal wymaga dev minimalnej trwałości, rozmawiać wiodącego dewelopera i przekonać go, aby oznaczyć stabilne wydanie.

Nie zmieniam minimalnej trwałości projektu cały do dev, gdyż z pewnością dokonać ogromny bałagan - To znaczy, nie mogę używać stabilnych pakietów i pakiety dev ubocznych, bok?

Czy brakuje mi czegoś o kompozytorze?


Edit (14 sierpnia 2013),

Według odpowiedź Sven „s poniżej, mam edytowane mój composer.json (można go znaleźć) here i zaczęło działać. W każdym razie jest to rozwiązanie częściowe, ponieważ aliasy śródliniowe nie działają dla zależności - tak więc w moim przypadku będę musiał najpierw określić wszystkie zależności pakietów "mniej niż stabilnych" i pseudo je pojedynczo.

Odpowiedz

29

wystarczy użyć

"knplabs/knp-gaufrette-bundle": "[email protected]" 

jeśli potrzebujesz najnowszą dev wersji

można również zmienić minimalnej stabilności dev i dodać "wolą stabilne": true takiego:

"minimum-stability": "dev", 
"prefer-stable": true, 

wtedy kompozytor zawsze będzie próbował znaleźć stabilną wersję i jeśli nic nie znajdzie instalatora dev, więc twoje pakiety symfony będą nadal stabilne. Ale w twoim przypadku kompozytor zainstaluje v0.1.4 (ostatnia stabilna z knplabs/knp-gaufrette-bundle), więc i tak potrzebujesz dev-master @ dev. prefer-stable to tylko wskazówka dla ciebie.

+0

Świetna odpowiedź ... –

1

Wystarczy popatrzeć na aliasów: http://getcomposer.org/doc/articles/aliases.md

Mają one pozwalają na adres oddziału (który z definicji jest zawsze w rozwoju, ponieważ można uzyskać dostęp tylko ostatni commit) w taki sposób, że oddział powinien być logicznym rozszerzeniem znacznika wersji.

Dla projektu nieoznakowanego, prawidłową zakładaną wersją znacznika będzie "0.0.0".

Powinieneś wypróbować wbudowany alias dla pakietu.

+0

Edytowane moje pytanie - thx dla informacji.W każdym razie zmiana ciągu wersji (patrz sedno) z dev-master na 0.0.0 (lub 2. *, zgodnie z sekcją 'extra') nic nie zmieniła –

+0

Głupi mnie: aktualizowałem niewłaściwego composer.json. W rzeczywistości "dev-master jako 0.0.0" na tym pakiecie i jego zależności rozwiązało problem. Przyjmuję inną odpowiedź, ponieważ jest bardziej elastyczna (nie trzeba określać aliasów zależności). Wielkie dzięki i tak! –

Powiązane problemy