3

질문에서 프로젝트 A에 x가 필요한 경우 & z 개의 패키지가 차례로 d1, d2, d3, d4 & d5 패키지가 필요합니다. Composer가 x, y 및 z 패키지에 대해 d1, d2, d3, d4 & d5를 세 번 다운로드합니까?한 프로젝트 내에서 여러 패키지가 공유 된 의존성을 어떻게 처리합니까?

d1, d2, d3, d4 & d4 패키지가 차례로 다른 일련의 공유 종속성을 필요로하는 경우 논리적이지만 실용적이지는 않지만 들립니다 .... 하나의 프로젝트 코드베이스 내에 중복 된 코드가 많이 필요할 것입니다.

미리 감사드립니다.

답변

10

짧은 대답은 아니오입니다. PHP에서는 라이브러리를 여러 번로드 할 수 없으므로 패키지마다 의존성을 독립적으로 다운로드하는 것은 의미가 없습니다. 따라서 Composer는 모든 패키지의 모든 종속성을 해결 한 다음 중복없이 즉시 설치합니다.

+0

감사합니다. Seldaek .. 직접 해 보았습니까? 당신이 말한 것이 사실이라면, 작곡가는 어디에서 공유 라이브러리를 만들 것입니까? 벤더 디렉토리 어딘가에 있으므로 다른 사람들과 공유하고 있습니까? – zoro74

+6

모든 의존성 (프로젝트의 직접적인 의존성, 또는 2 차/3 차/... 의존성이든간에)이 모든 것이'vendor/'에서 끝납니다. 그리고 네, 저는 프로젝트 리더이기 때문에 두 번이나 시도했습니다.) – Seldaek