[php] Composer를 사용하여 특정 버전의 패키지를 설치하는 방법은 무엇입니까?

Composer를 사용하여 특정 버전의 패키지를 설치하려고합니다. 나는 시도 composer install하고 composer require있지만, 패키지의 최신 버전을 설치합니다. 이전 버전을 원하면 어떻게합니까?



답변

composer require vendor/package:version

예를 들면 다음과 같습니다.

composer require refinery29/test-util:0.10.2


답변

버전 번호에 캐럿 연산자를 사용하려면 큰 따옴표를 추가하십시오.

composer require middlewares/whoops "^0.4"


답변

그냥 PHP composer.phar를 사용하십시오 필요

예를 들면 다음과 같습니다.

php composer.phar require doctrine/mongodb-odm-bundle 3.0

설치도 가능합니다.

https://getcomposer.org/doc/03-cli.md#require
https://getcomposer.org/doc/03-cli.md#install


답변

@alucic이 언급했듯이 다음을 사용하십시오.

composer require vendor/package:version

또는 다음을 사용할 수 있습니다.

composer update vendor/package:version

composer 설치와 composer 업데이트의 차이점에 대해서는이 StackOverflow 게시물을 검토해야합니다 .

버전 번호에 관한 질문과 관련하여 버전에 대한 Composer 설명서를 검토 할 수 있지만 여기서 간단히 설명하면 다음과 같습니다.

  • 틸드 버전 범위 ( ~ )-~ 1.2.3은> = 1.2.3 < 1.3.0과 같습니다.
  • 캐럿 버전 범위 ( ^ )-^ 1.2.3은> = 1.2.3 < 2.0.0과 같습니다.

따라서 Tilde 를 사용하면 패치의 자동 업데이트가 제공되지만 부 버전과 주 버전은 업데이트되지 않습니다. 그러나 Caret 를 사용 하면 패치 및 부 버전이 제공되지만 주요 (중단 변경) 버전은 제공되지 않습니다.

Tilde Version은 “safer”접근 방식으로 간주되지만, 신뢰할 수있는 의존성 (잘 관리 된 라이브러리)을 사용하는 경우 Caret Version에 아무런 문제가 없어야합니다.


답변

Laravel Collective를 설치한다고 가정하십시오. 현재 버전 6.x이지만 버전 5.8이 필요합니다. 다음 명령을 실행할 수 있습니다.

composer require "laravelcollective/html":"^5.8.0"

https://laravelcollective.com/docs/5.5/html 문서에 좋은 예가
있습니다


답변

당신의에서 composer.json, 당신은 넣을 수 있습니다 :

{
    "require": {
        "vendor/package": "version"
    }
}

그런 다음 composer install또는 composer update을 포함하는 디렉토리에서 실행 하십시오 composer.json. 때로는 저에게 작곡가가 엉뚱 composer clear-cache; rm -rf vendor; rm composer.lock하기 composer install때문에 신선한 재료를 얻기 위해 먼저 시작하겠습니다 .


물론 다른 답변에서 알 수 있듯이 터미널에서 다음을 실행할 수 있습니다.

composer require vendor/package:version

그리고에 버전 :
작곡가의 공식 버전 기사
Ecosia 검색


답변