문제

내 프로젝트는 여러 번 묶음으로 구성되어 있어야합니다. 일부는 필요한 경우 특정 서버에서 사용됩니다.이제 비 필수 번들에 대한 종속성을 추가해야합니다.Bundle을 사용하지 않으면 해당 코드를 사용하지 않으므로 주요 composor.json에서 프로젝트 의존성으로 추가하는 낭비가 있습니다.

은 해당 번들 안에 composer.json 파일을 가질 수 있습니까?가능하지 않은 경우 어떻게 내 사건을 처리 할 수 있습니까?

예제

src/
   Project/
      RequiredFirstBundle/
      RequiredSecondBundle/
      Non-RequiredBundle/
              composor.json 
.

나는 시도했다 :

//Path: src/Project/Non-RequiredBundle/composer.json

{
    "name": "project/non-requiredbundle",
    "description": "desc",
    "type": "symfony-bundle",
    "license": "MIT",
    "authors": [
        {
            "name": "name",
            "email": "email"
        }
    ],
    "require": {
        "symfony/framework-bundle": "~2.2",
        "another/dependency": "*"
    },
    "autoload": {
        "psr-0": { "Project\\Non-RequiredBundle": "" }
    },
    "target-dir": "Project/Non-RequiredBundle"
}
.

일반 파일이 composer.phar update

를 실행할 때 파일을 사용하는지 알지 못합니다.

감사합니다

도움이 되었습니까?

해결책

정확하게 이해하는 경우 모든 것을 포함하고 모든 곳에서 배포하는 소프트웨어 버전이 있거나 해당 소프트웨어의 개별 서버에 배포 된 다른 종속성이있는 여러 버전이있는 것에 대해 생각하고 있습니다.

나는 그 이유가 하드 드라이브에 몇 바이트를 절약하는 것이어야한다고 생각하지 않는다.

그러나 작곡가는 이것을 당신을 도울 수 없습니다.실제로 composer.json의 어딘가에서 사용하려는 의존성을 포함하여 작곡가가 AutoLoader에 포함 시키려고합니다.

"하나의 버전이 모두 적합"되고 간단히 필요한 모든 종속성을 포함합니다.사용되지 않는 소프트웨어 부품을 배포하는 것에 대해 걱정할 필요가 없습니다.사용자가 사용할 것으로 생각할 부분에도 항상 그 일을 할 것입니다.

다른 팁

번들 중 일부를 공유하려면 세 번째 Partys와 같은 벤더 롯더로 개발해야합니다.따라서 각 번들에 대한 버전 제어 저장소를 만들고 각 번들에 대해 composer.json을 추가해야합니다.Symmony Composer 파일에 번들을 사용할 수있게하려면 VersionControl URL을 자원으로 추가해야합니다.그것은 다음과 같이 보일 것입니다 :

"repositories": [
    {
        "type": "vcs"
        "url": "https://github.com/igorw/monolog"
    }
],
.

해피 코딩 :)

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top