2015-01-24 3 views
1

나는 Github repository이며 최근에 Packagist에 제출했습니다. 다음과 같이 내 저장소의 최상위 디렉토리는 다음과 같습니다작곡가 패키지가 저장소의 특정 하위 디렉토리를 가리 키도록 구성하려면 어떻게해야합니까?

  • 빌드/
  • bootsole/
  • 예/
  • 라이센스/
  • 스크린 샷/

bootsole 하위 디렉토리 작곡가가 관리/자동로드하는 클래스가 들어있는 실제 디렉토리입니다.

패키지를 테스트하기 위해 새 프로젝트를 만들려고했습니다. 내가 composer install 실행

{ 
    "require": { 
     "php": ">=5.4.0", 
     "alexweissman/bootsole": "0.2.0" 
    } 
} 

, 그리고 bootsole 및 의존성, valitron를 가져 다음 프로젝트에서 다음과 같이 내 composer.json이다. 그러나 bootsole을 vendor/alexweissman/bootsole/에 넣습니다. 더 많은 것, 그것은 bootsole 하위 디렉토리가 아닌 해당 디렉토리에 전체 저장소를 배치합니다.

서브 디렉토리 bootsole (예 : build/, examples/ 등 생략)의 내용 만 포함하도록 패키지를 구성 할 수 있습니까?

업데이트 : This question (이 시점에서 1 년 이상되었지만) 불가능하다고 제안하는 것처럼 보입니다. 그것은 git에게 아카이브의 다른 디렉토리를 무시하라고 지시하며, 작곡가를 사용하지 않는 개발자를 위해하지는 않을 것이라고 제안합니다.

bootsole/ 서브 디렉토리 만 포함하는 별도의 분기를 만들고 해당 분기에 Composer를 작성하고 Composer의 분기를 master 분기와 자동 동기화하는 방법이 있습니까?

+0

[작성자와 디렉토리를 무시하는 방법] (http://stackoverflow.com/questions/17049313/how-to-ignore-directories-with-composer) –

+0

@PiotrOlaszewski 감사합니다. 문제. – alexw

+0

http://stackoverflow.com/a/15460972/3794472 –

답변

0

composer install을 실행하거나 composer require을 실행하면 일반적으로 공급 업체 디렉토리에 저장됩니다. 작성자는 기본적으로 공급 업체 디렉토리를 소유합니다. 이러한 항목을 다른 곳에 넣을 수있는 방법이 있지만 작곡가의 목적을 상실합니다. 이는 작곡가의 모든 상호 작용 라이브러리에서 버전 변경을 관리하는 데 도움이됩니다.

그러나 다른 옵션은 composer create-project입니다. 이 프로젝트는 본질적으로 프로젝트를 복사 할 때마다 복제하고 composer.json 파일의 require 섹션에있는 모든 것을로드합니다. 내 생각 엔 사용자가 composer create-project을 실행하도록 지시하는 모든 디렉토리의 초기 설치와 첫 번째 프로젝트의 composer.json에 필요한 bootsole 디렉토리가 될 두 개의 프로젝트가 필요합니다. 파일,/vendor/alexweissman/bootsole에 저장됩니다. bootsole 디렉토리를 찾으려면 코드를 변경해야합니다.