2016-11-26 10 views
1

모듈을 개인 레포에 생성했습니다. 나는 그것을 위해 composer.json 파일을 만들었습니다사용자 지정 SilverStripe 모듈이 공급 업체 폴더에 설치됨

{ 
    "name": "company/sync", 
    "description": "sync", 
    "type": "silverstripe-module", 
    "authors": [{ 
     "name": "XXXX", 
     "email": "XXXX" 
    }], 
    "require": { 
     "silverstripe/framework": "~3.2", 
     "composer/installers": "~1.0" 
    }, 
    "extra": { 
     "installer-name": "sync" 
    }, 
    "minimum-stability": "dev" 
} 

그리고 난 내 주요 프로젝트 composer.json있어 : 패키지가 silverstripe-module로 표시되어있다, 내가 읽은 바로는

{ 
    "name": "silverstripe/installer", 
    "description": "The SilverStripe Framework Installer", 
    "repositories": [ 
     { 
      "type": "package", 
      "package": { 
       "name": "company/sync", 
       "version": "master", 
       "source": { 
        "url": "[email protected]:xxx/sync.git", 
        "type": "git", 
        "reference": "master" 
       } 
      } 
     } 
    ], 
    "require": { 
     "php": ">=5.3.3", 
     "silverstripe/cms": "3.3.1", 
     "silverstripe/framework": "3.3.1", 
     "silverstripe/reports": "3.3.1", 
     "silverstripe/siteconfig": "3.3.1", 
     "silverstripe-themes/simple": "3.1.*", 
     "company/sync": "*" 
    }, 
    "require-dev": { 
     "phpunit/PHPUnit": "~3.7" 
    }, 
    "extra": { 
     "branch-alias": { 
      "3.x-dev": "3.3.x-dev" 
     }, 
     "installer-paths": { 
      "sync": ["company/sync"] 
     } 
    }, 
    "config": { 
     "process-timeout": 600 
    }, 
    "prefer-stable": true, 
    "minimum-stability": "dev" 
} 

그것을 그것을 설치의 루트에 두어야합니다. 나는 또한 extra 매개 변수를 통해 설정하려고했지만 여전히 vendor/company/sync에 배치됩니다. 내가 도대체 ​​뭘 잘못하고있는 겁니까?

답변

2

귀하의 문제는 귀하의 맞춤 "저장소"항목이라고 생각합니다. "패키지"항목을 정의하면 작성자에게 패키지의 속성을 알려주며 저장소의 composer.json을 조회하지 않습니다.

그래서 "유형"및 기타 필드를 추가하거나 "vcs"항목 (저장소에서 composer.json을 사용)을 사용하여 "패키지"항목을 완전히 정의하십시오. 예 : composer.json 자신이 있고 어떤 작곡가 메타 데이터가없는 소스에 의존하는 경우에만 "패키지"를 사용하여 저장소에 대한 사용 "VCS"한마디로

"repositories": [ 
    { 
     "type": "vcs", 
     "url": "[email protected]:xxx/sync.git" 
    } 
] 

.