Composer에는 브랜치 이름이 필요합니다.


106

예를 들어 다음을 요구하고 싶습니다.

{
  "repositories": [
    {
      "type": "git",
      "url": "https://github.com/google/google-api-php-client.git"
    }
  ],

  "require": {
    "google/apiclient": "v1-master"
  }
}

이 예에서는 require google/apiclienton branch를 시도합니다 v1-master. 오류가 발생합니다.

  [UnexpectedValueException]                                                        
  Could not parse version constraint v1-master: Invalid version string "v1-master"

답변:


186

모든 개발 브랜치 (= 태그 없음) 앞에 dev-.

필요한 브랜치를 설치하려면 다음을 사용하십시오.

composer require google/apiclient:dev-v1-master

작성기 문서를 참조하십시오 .


1
편리한 정보. 감사!
Matt Komarnicki

Windows 컴퓨터에서 시도하고 있지만 작성기를 실행하여 git 저장소에서 패키지를 다운로드하는 올바른 명령을 찾을 수 없습니다. 그래서 도와주세요?
Sr. PHP 프로그래머 팀 리더

'dev-'접두사는 composer 명령에서만 추가합니다. 저장소 브랜치 이름을 변경할 필요가 없습니까
Silas Ribas Martins

--no-cache를 사용해도 업데이트 된 분기를 다시 설치할 수 없어서 다음을 사용했습니다.composer require google/apiclient:dev-v1-master#COMMITHASH
M Rostami

46

이것은 작동합니다.

{
  "repositories": [
    {
      "type": "git",
      "url": "https://github.com/google/google-api-php-client.git"
    }
  ],

  "require": {
    "google/apiclient": "dev-BRANCH_NAME"
  }
}

그래서 패턴은 "dev- *", 만약 브랜치 이름이 "bug-fix"이면 "dev-bug-fix"

명령 줄 사용 :

composer require google/apiclient:dev-BRANCH_NAME

4
패턴 "dev- *"설명하기위한 감사합니다
에메 카 Mbah

4
주 저장소를 분기 한 경우 필수 부분에서 공급 업체 이름을 변경하지 마십시오. 포크 : "url": "https://github.com/your-username/google-api-php-client.git"그러나 스테이 필요 : google공급 업체.
Vladimir Vukanac

1
@VladimirVukanac 그 작은 보석은 더 많은 가시성이 필요합니다!
Jacob Thomason 19
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.