2012-04-08 12 views
5

로컬 프로젝트 A를 프로젝트 B에 대한 종속성으로 추가하려고합니다. git daemon을 사용하여 프로젝트 A를 종속으로 가져올 수 있지만, composer.json의 require으로 정의 된 종속성은 프로젝트 A는 인식되지 않습니다. 내가 뭘 놓치고 있니?Composer가 로컬 저장소에서 종속성을 가져 오지 않습니다.

프로젝트 A :

{ 
    "name": "project/a", 
    "require": { 
     "monolog/monolog": "dev-master" 
    } 
} 

프로젝트 B :

"repositories": [ 
    { 
     "type": "vcs", 
     "url": "git://localhost/home/user/project-a" 
    } 
], 
"require": { 
    "project/a": "dev-master" 
} 

결과 (프로젝트 B에서) 기대

vendor/ 
    project/a 

:

vendor/ 
    project/a 
    monolog/monolog 

답변

8

가장 가능성있는 설명은 composer.json에 변경 사항을 적용하는 것을 잊어 버린 것입니다. /home/user/project-a에 있습니다.

디버깅하려면 composer show project-a dev-master -v을 사용할 수 있습니다. -v은 리포지토리를로드하는 동안 더 자세한 정보를 출력하고 설치하는 버전에 대한 세부 정보를 볼 수 있습니다. 모노로그 요구 사항이 포함되어 있지 않으면 위의 내 추측이 맞다고 말할 수 있습니다. 그것이 포함되어 있다면, 우리는 작곡가에 심각한 버그가있어 github에 그것을보고해야합니다.

+0

오늘은 문제를 재현하려고했지만 어쨌든 이제는 마지막 시도 이후 어느 쪽 저장소로든 변경 사항을 커밋하지는 않았지만 작동하는 것처럼 보입니다. 어쩌면 이상한 캐싱 문제 였을까요? 나는 주변에서 놀고 그것이 다시 일어나는지 볼 것입니다 ... 편집 : 나는 당신의 대답을 어쨌든 받아들이고 있습니다,'composer show -v'는 많은 도움이됩니다. – dbrumann

0

비슷한 문제가 발생하여 composer install 대신 composer update이 실행 중이며 필요한 라이브러리 중 하나가 종속성을 GitHub의 zipballs로 정의했습니다.