2017-03-02 4 views
0

저는 Laravel 5.4로 업그레이드 할 Laravel 5.3 프로젝트가 있습니다. Laravel의 일부 변경 사항으로 인해 업데이트가 필요한 종속성이 있습니다. 하나를 제외한 모든 종속성은 안전하게 업데이트 할 수있는 업데이트가있었습니다.로컬로 유지 관리 할 수있는 구형/유지 관리되지 않은 종속성을 어떻게 처리합니까?

github 확인 나는 문제를 해결하는 방법에 대한 동일한 문제와 쉬운 해결책으로 다른 사람들을 찾았습니다. 그러나 알 수없는 이유로 인해 개발자는 더 이상 지원하지 않으며 더 이상 지원되지 않는 것으로 간주합니다. 문제를 해결하기위한 요청이 있지만 아무도 이러한 요청을 수락 할 수 없습니다.

내가 할 수있는 일은 내 공급 업체 폴더로 이동하여 직접 변경하는 것입니다.하지만 변경 사항이 결국 덮어 쓰여지기 때문에 올바른 방법은 아닙니다.

내가 스스로 해결할 수있는 문제로 해결책을 공유하는 다른 사람들의 도움으로 해결할 수있는 구식/유지 관리되지 않은 종속성 문제를 어떻게 처리합니까?

1) 공급 업체의 파일을 복사하여 제 3 자 파일을 프로젝트에 통합하려고 할 수 있습니다.

2) 저장소를 포크하고 필요한 변경을하고 packagist에 내 포크 된 버전을 추가하거나 (오른쪽 느낌이 아님) 내 forked git을 composer.json 파일의 저장소로 추가 할 수 있습니다.

다른 아이디어에 감사드립니다, 감사합니다!

답변

0

내가 지금 해결 한 방법을 추가 할 것입니다. 누군가가 더 나은 대답을하면 기꺼이 받아 들일 것입니다.

내 경우에는 해당 저장소가 포크 할 수있는 Github 저장소입니다. 그런 다음 저장소를 복제하고 필요한 변경 작업을 수행 할 수 있습니다. 다음은 내가 composer.json 파일에있는 것입니다. 내 composer.json 파일 내부

"require": { 
    "someoneelse/project": "^1.0" 
} 

나는 종속성에 대해 "someoneelse/프로젝트"를 발견하고 현재 버전 요구 사항 "^ 1.0"을 "DEV-마스터"를 변경했습니다. 이것은 master 브랜치의 최신 커밋을 가져오고 minimum-stability를 dev로 둔다.

그런 다음 내 저장소를 composer.json에 추가했습니다. 그렇게 할 수 있습니다

"repositories": [ 
    { 
     "type": "git", 
     "url": "https://github.com/markustenghamn/project.git" 
    } 
], 
"require": { 
    "someoneelse/project": "dev-master" 
} 

Running composer update가 현재 분기 된 저장소에서 최신 버전을 가져옵니다. 누군가이 프로젝트를 다시 시작하기로 결정했다면 언제든지 다시 변경할 수 있습니다. 종속성은 분기 된 프로젝트 composer.json 파일에 다른 종속성을 요구할 수 있으므로 필요할 경우이를 업데이트해야합니다.