Załóżmy, że piszę bibliotekę A, która zależy od innej biblioteki, na przykład monologu.
Chcę zainstalować najnowszą wersję monologu, więc umieściłem to w pliku composer.json:
{
"require": {
"monolog/monolog": "*.*.*"
}
}
Potem biegnę $ php composer.phar install
.
Spodziewałem się, że wersja jest zainstalowana w pliku composer.lock, ale jej tam nie ma:
{
"hash": "d7bcc4fe544b4ef7561918a8fc6ce009",
"packages": [
{
"package": "monolog/monolog",
"version": "dev-master",
"source-reference": "2eb0c0978d290a1c45346a1955188929cb4e5db7"
}
],
"packages-dev": null,
"aliases": [
],
"minimum-stability": "dev",
"stability-flags": [
]
}
Potrzebuję wersji, ponieważ chcę powiązać moją bibliotekę z określonym zestawem wersji, np .: Jeśli znajdę wersję 1.3.5, w moim pliku composer.json chciałbym umieścić coś takiego:
"require": {
"monolog/monolog": "1.3.*"
}
Jakieś pomysły?
źródło
php composer.phar show -a
iphp composer.phar show package/name
są również pomocne.dev-master
pakietów jest to przydatne, ponieważ pokazuje również skrót zatwierdzenia. Musisz więc przejść do GitHub, znaleźć ten skrót zatwierdzenia, sprawdzić datę, a następnie znaleźć tag z najbliższą datą wcześniejszą, aby naprawdę dowiedzieć się, jakiej "wersji" używaszMożesz użyć programu Composer w następujący sposób:
źródło
Jeśli chcesz tylko uzyskać dane wyjściowe jako numer wersji pakietu, na przykład: 1.7.5 lub 1.x-dev lub dev-master .
Fragment konsoli Linuksa:
źródło
Technicznie rzecz biorąc, "dev-master" to dokładna wersja, której tam używałeś. Jest to gałąź rozwojowa, a więc najnowsza wersja.
Najlepszym miejscem do wyszukania dostępnych wersji pakietów kompozytora jest Packagist, ponieważ jest to miejsce, w którym kompozytor ładuje wersje podczas instalowania pakietów. Wersje monologów są wymienione na http://packagist.org/packages/monolog/monolog .
źródło
Możesz użyć show all, szczególnie gdy nie masz pliku package.json, pobierz dostępne pakiety z packagist.org:
Możesz także określić wersje
źródło