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


답변:



110

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

composer require middlewares/whoops "^0.4"

3
패키지 이름버전 을 두 개의 별도 인수로 전달할 수있는 시점이 보이지 않습니다 .
x-yuri

1
별도의 인수로 @ X-유리 통과 패키지 이름과 버전은 나를 작곡가 1.5.1 사용하여 작동
bryonbean

기술적으로 이것은 OP의 질문에 대한 "정답"이 아니지만 대부분의 사람들에게 더 유용 할 것입니다.
리치 코트

19

그냥 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


공식적으로, 사용자 정의 제약 조건을 추가하는 것은 하지 사용할 수 install- 단지와 함께 require. 특정 버전으로 전환하고 composer.lock파일을 체크인 composer require하려면 변경 사항을 사용 하고 composer.json나중에 변경 사항을 되돌려 야합니다 .
mindplay.dk

별도의 인수로 버전? 그게 가능 했습니까?
x-yuri

10

@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에 아무런 문제가 없어야합니다.



0

당신의에서 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 검색

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.