여기 내 composer.json이 있습니다 .Github에서 Nodge의 lessphp 프로젝트 포크를 사용하고 싶습니다.
"repositories": [{
"type": "package",
"package": {
"version": "dev-master",
"name": "nodge/lessphp",
"source": {
"url": "https://github.com/Nodge/lessphp.git",
"type": "git",
"reference": "master"
},
"autoload": {
"classmap": ["lessc.inc.php"]
}
}
}],
"require": {
"php": ">=5.3.3",
"nodge/lessphp": "dev-master"
},
하지만 업데이트 할 때이 오류가 있습니다.
nodge / lessphp dev-master-> 일치하는 패키지가 없습니다.
이 포크를 올바르게 요구하는 방법을 모르겠습니다 …
어떤 제안?
답변
가장 일반적이고 쉬운 방법은 VCS 리포지토리를 사용하는 것입니다.
포크를 리포지토리로 추가하고 사용자 지정 분기를 가리 키도록 버전 제약 조건을 업데이트하기 만하면됩니다. 사용자 지정 분기 이름 앞에 접두사가 있어야합니다
dev-
.
버그 픽스 브랜치에서 버그를 수정하기 위해 모노로그를 패치했다고 가정하는 예제 :
{
"repositories": [
{
"type": "vcs",
"url": "https://github.com/igorw/monolog"
}
],
"require": {
"monolog/monolog": "dev-bugfix"
}
}
bugfix 브랜치를 지정하는 것 외에는 require 문을 변경하지 마십시오. 개인 포크 ( )가 아닌 업스트림 패키지 ( monolog/monolog
)를 계속 참조하십시오 . 문서에서 세부 정보 를 읽을 수 있습니다igorw/monolog
답변
VCS 사용하기 :
"name": "test/test",
"repositories": [{
"type": "vcs",
"url": "http://github.com/Nodge/lessphp"
}],
"require": {
"leafo/lessphp": "dev-master"
},
그러나이 모듈이 필요하면 composer.json
작동하지 않습니다. 포크가 아닌 원래 프로젝트를 설치합니다.
예
"name": "example/example",
"require": {
"test/test": "dev-master"
},
저장소를 다시 언급해야합니다. 그게 정상인가요?
답변
@Neilime 답변을 얻을 수 없다면 포크가 다른 지점을 사용하는지 확인하십시오.
예를 들어 my-bugfix
, 포크에있는 분기에 변경 사항을 푸시하십시오. dev-
분기 이름 에 접 두부를 추가하지 말고 composer.json에 추가해야합니다. 작곡가 파일은 다음과 같습니다.
"repositories":
[
{
"type": "vcs",
"url": "http://github.com/yourname/packageName"
}
],
"require": {
"owner/packageName": "dev-my-bugfix"
},
답변
나는 많은 옵션을 시도했지만이 게시물을 얻은 후 나는 빛을 보았고 그것은 완벽하게 작동했습니다.
이것은 당신이해야 할 일입니다.
1- 포크 저장소
2- 분기를 생성하고 필요한 수정을합니다.
3- composer.json에 저장소 레이블 추가
"repositories": [
{
"type": "vcs",
"url": "https://github.com/user/yourforkname"
}
]
4- 프로젝트 내부의 명령 행에서 다음과 같은 포크가 필요합니다.
composer require vendor/packagename:dev-branchname
그리고 Voilá !!
당신은 당신의 포크 버전을 작동
답변
Composer 문서 http://getcomposer.org/doc/05-repositories.md#vcs 에 따르면
( require
귀하의 경우 “nodge / lessphp” )에서 포크가 아닌 원래 저장소를 지정하는 것으로 충분합니다 . 그런 다음 작곡가가 포크를 설치합니다 (공급 업체의 코드 확인).
답변
따라서 이것은 2019 년이며 여기의 대부분의 답변이 이미 맞습니다.
그러나 자신이 발견 한 경우 (만든 만든) 포크 의 특정 분기 가 필요한 상황에서는 작곡가에게 사용 가능한 버전 / 태그를 먼저 나열하십시오. 이로 인해 많은 시간이 절약되었습니다.
spatie/laravel-backup
패키지 와 함께 전체 예제 .
먼저 repositories
composer.json 에 키를 추가하십시오 . 포크의 URL로
"repositories": [{
"type": "vcs",
"url": "https://github.com/holymp2006/laravel-backup"
}]
사용 가능한 버전 / 태그 받기
composer show "spatie/laravel-backup" --all
versions
터미널 출력에서 원하는 버전을 선택한 다음 해당 버전이 필요합니다
composer require spatie/laravel-backup:v5.x-dev
답변
나는 보통 패키지 정의에 “dist”노드를 추가한다. 이런 식으로 사용하는 데 아무런 문제가 없었습니다.
그러나 추가 설명을 위해이 트릭을 어디서 얻었는지 기억할 수 없습니다.
{
"repositories": [
{
"type": "package",
"package": {
"version": "dev-master",
"name": "nodge/lessphp",
"source": {
"url": "https://github.com/Nodge/lessphp.git",
"type": "git",
"reference": "master"
},
"autoload": {
"classmap": ["lessc.inc.php"]
},
"dist": {
"url": "https://github.com/Nodge/lessphp/archive/master.zip",
"type": "zip"
}
}
}
],
"require": {
"nodge/lessphp": "*"
}
}