예를 들어 모노로그와 같은 다른 라이브러리에 의존하는 라이브러리 A를 작성한다고 가정 해 보겠습니다.
최신 버전의 모노로그를 설치하고 싶습니다. 그래서 이것을 composer.json 안에 넣었습니다.
{
"require": {
"monolog/monolog": "*.*.*"
}
}
그런 다음 실행 $ php composer.phar install
합니다.
composer.lock 안에 설치된 버전을 찾을 것으로 예상했지만 거기에 없습니다.
{
"hash": "d7bcc4fe544b4ef7561918a8fc6ce009",
"packages": [
{
"package": "monolog/monolog",
"version": "dev-master",
"source-reference": "2eb0c0978d290a1c45346a1955188929cb4e5db7"
}
],
"packages-dev": null,
"aliases": [
],
"minimum-stability": "dev",
"stability-flags": [
]
}
내 라이브러리를 특정 버전 세트에 연결하고 싶기 때문에 버전이 필요합니다. 예 : 버전이 1.3.5 인 경우 composer.json에 다음과 같이 입력하고 싶습니다.
"require": {
"monolog/monolog": "1.3.*"
}
어떤 아이디어?
답변
오래된 질문 인 건 알지만 …
composer.phar show
현재 설치된 모든 패키지와 버전 정보를 표시합니다. (이것은 현재 사용되지 않는 -i
옵션을 사용할 때만 이전 버전의 Composer에서 표시되었습니다 .)
자세한 내용을 보려면 패키지 이름도 지정하십시오.
composer.phar show monolog/monolog
커밋 MD5 해시, 소스 URL, 라이선스 유형 등을 포함한 많은 정보가 표시됩니다.
답변
다음과 같이 작곡가 쇼를 사용할 수 있습니다.
composer show package/name
답변
1.7.5 또는 1.x-dev 또는 dev-master 와 같은 패키지 버전 번호로 출력을 얻는 데 관심이 있다면 .
Linux 콘솔 스 니펫 :
composer show 'monolog/monolog' | grep 'versions' | grep -o -E '\*\ .+' | cut -d' ' -f2 | cut -d',' -f1;
답변
기술적으로 “dev-master”는 거기서 사용하게 된 정확한 버전입니다. 개발 브랜치이므로 최신 버전입니다.
composer 패키지에 사용 가능한 버전을 찾는 가장 좋은 곳은 Packagist 입니다. 패키지를 설치할 때 composer가 버전을로드하기 때문입니다. 모노로그 버전은 http://packagist.org/packages/monolog/monolog에 나열되어 있습니다.
답변
show all을 사용할 수 있습니다. 특히 package.json 파일이없는 경우 packagist.org에서 사용 가능한 패키지를 가져올 수 있습니다.
composer show "monolog/monolog" --all
또한 버전을 지정할 수 있습니다.
composer show "monolog/monolog" 1.* --all