oto mój plik composer.json, chcę użyć rozwidlenia projektu lessphp Nodge'a na Github
"repositories": [{
"type": "package",
"package": {
"version": "dev-master",
"name": "nodge/lessphp",
"source": {
"url": "https://github.com/Nodge/lessphp.git",
"type": "git",
"reference": "master"
},
"autoload": {
"classmap": ["lessc.inc.php"]
}
}
}],
"require": {
"php": ">=5.3.3",
"nodge/lessphp": "dev-master"
},
Ale mam ten błąd podczas aktualizacji:
nodge / lessphp dev-master -> Nie znaleziono pasującego pakietu.
Nie wiem jak poprawnie wymagać tego widelca ...
Jakieś sugestie ?
źródło
composer show jwade/purl -v
, powinien powiedzieć, dlaczego zignorował wersję dev-master, jeśli tak.Korzystanie z VCS działa:
Ale jeśli potrzebuję modułu, który to ma
composer.json
, to nie działa. Instaluje oryginalny projekt, a nie fork.Przykład
Powinienem jeszcze raz wspomnieć o repozytorium. Czy to normalne?
źródło
Jeśli nie możesz uzyskać odpowiedzi @Neilime, która działa dla Ciebie, upewnij się, że Twój fork używa innej gałęzi.
Na przykład wypchnij swoje zmiany do gałęzi na twoim forku o nazwie
my-bugfix
, niedev-
dodawaj przedrostka do nazwy gałęzi, ale w pliku composer.json musisz go dodać. Twój plik kompozytora będzie wyglądał następująco:źródło
name
pole wcomposer.json
pliku twojego rozwidlonego repozytorium powinno pozostać takie samo jak pierwotnego właściciela.Próbowałem wielu opcji, ale po tym, jak dostałem ten post, zobaczyłem światło i działało idealnie.
Oto, co musisz zrobić:
1- Fork de repository
2- Utwórz gałąź i wprowadź wymagane modyfikacje.
3- Dodaj etykietę repozytorium do pliku composer.json
4- W wierszu poleceń w projekcie wymagaj widelca w następujący sposób:
I Voilá !!
Masz działającą wersję widelca
źródło
Zgodnie z dokumentacją Composera http://getcomposer.org/doc/05-repositories.md#vcs , wystarczy określić oryginalne repozytorium (nie rozwidlenie) w
require
(„nodge / lessphp” w twoim przypadku). Composer zainstaluje następnie TWÓJ fork (spójrz na kod u dostawców)źródło
Tak więc jest rok 2019 i większość odpowiedzi tutaj jest już poprawnych.
Jeśli jednak znajdziesz się w sytuacji, w której potrzebujesz określonej gałęzi twojego fork (którą stworzyłeś), najpierw poproś kompozytora o listę dostępnych wersji / tagów. To zaoszczędziło mi dużo czasu.
Pełny przykład z
spatie/laravel-backup
pakietem.Najpierw dodaj
repositories
klucz do pliku composer.json. Z adresem URL swojego widelcaUzyskaj dostępne wersje / tagi
Wybierz żądaną wersję
versions
w danych wyjściowych terminala, a następnie wymagaj tej wersjiźródło
Zwykle dodaję węzeł „dist” do definicji pakietu. Nigdy nie miałem problemu z używaniem go w ten sposób.
Nie pamiętam jednak, skąd wziąłem tę sztuczkę, aby uzyskać dalsze wyjaśnienia.
źródło