의존성 없이 작곡가에 패키지를 설치하는 방법
-
21-12-2019 - |
문제
나는 사용하고있다 composer
~와 함께 symfony php
.
하나 있다 bundle A
다른 것에 의존하는 것 bundle B v 1.1
.
하지만 최신 버전이 있습니다. bundle B v 2
.
이제 설치를 하려고 합니다 bundle A
종속성을 설치하지 않고 bundle B v 1.1
.
어떻게 진행하나요?제안해주세요.
해결책
설정:
최신 무당벌레 번들 버전은 다음과 같습니다. 1.0.2
하지만 그 동안 더 많은 커밋이 있었습니다.무당벌레 버전이 필요합니다. 1.0.8
여기에는 최신 변경 사항도 포함되지 않습니다.
해결책:
쉬운 해결책은 다음을 사용하는 것입니다. 인라인 별칭.다음과 같은 것 :
"require" : {
"raulfraile/ladybug-bundle": "dev-master as 1.0.3"
"raulfraile/ladybug": "dev-master as 1.0.9"
}
대안:
동일한 이름의 패키지를 정의할 수 있습니다. 작곡가.json 여기에는 변경된 종속성이 포함됩니다.
원본 패키지에서 패키지 정의를 복사하고 dist/source 위치를 추가하고 요구 사항을 편집하면 됩니다.
그러면 작곡가는 알려진 모든 저장소에서 첫 번째 일치 항목을 선택하기 때문에 이 새로운 패키지 정의를 사용합니다(packagist는 항상 마지막으로 쿼리됩니다).
dist-zip에 대한 특정 커밋을 선택해야 합니다.예:
"repositories": [
{
"type": "package",
"package": {
"name": "raulfraile/ladybug-bundle",
"version": "1.0.3",
"require": {
"raulfraile/ladybug" : "~1.0@dev"
},
"dist": {
"url": "https://github.com/raulfraile/LadybugBundle/archive/5c3739a881313f63f7b47ace49af5deeed211362.zip",
"type": "zip"
},
}
}
],
이제 요구 "raulfraile/ladybug-bundle": "~1.0"
당신의 작곡가.json 그리고 그것은 1.0.3
버전을 직접 정의했습니다.
제휴하지 않습니다 StackOverflow