program tip

composer : 패키지의 정확한 버전을 찾는 방법은 무엇입니까?

radiobox 2020. 9. 16. 07:31
반응형

composer : 패키지의 정확한 버전을 찾는 방법은 무엇입니까?


예를 들어 모노로그와 같은 다른 라이브러리에 의존하는 라이브러리 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에 나열되어 있습니다.


아주 오래된 질문이지만 누군가에게 도움이 될 수 있도록 답변을 추가하면 composer.josn 및 composer.lock 파일을 업로드하여 온라인으로 확인할 수도 있습니다.

http://www.drcomposer.com

이것이 누군가를 도울 수 있기를 바랍니다.


github에서 찾을 수 있습니다.

Composer는 현재 1.1.0 https://github.com/Seldaek/monolog/tags에 있습니다.

필요하다고 생각되는 태그를 잡으십시오.

참고 URL : https://stackoverflow.com/questions/10684523/composer-how-to-find-the-exact-version-of-a-package

반응형