2016-07-05 3 views
2

새로운 소식입니다. 나는 하나의 자식 저장소에있을 수없는 이동 프로젝트에서 일하고있다. 정확한 사례는 내가 개발하고있는 도서관을 공개해야하고, 동시에 그것에 의존하는 개인 프로젝트가 있어야한다는 것입니다. 그러한 필요성이 발생할 수있는 다른 많은 시나리오가 있다고 가정합니다.구성 요소 개발을위한 종속성 관리를 참조하십시오.

기존 종속성 관리는 구성 요소 또는 다른 타사 종속성이 다른 repo 위치로 전환하면서 중요한 정의 단계로 이동한다는 개념을 기반으로 설계된 것으로 보입니다.

필자의 경우 공개와 내 사적인 코드를 함께 사용하여 커다란 변화가 일어날 수있는 환경을 만들고 싶습니다. 기존 공공 프로젝트의 건설을 깨지 않고 공공 도서관에서 제출할 수있는 곳. 그리고 나중에 사적으로 의존하는 프로젝트를 수정 된 버전으로 옮깁니다.

내 공공 도서관의 거의 모든 변경에 대해 서로 다른 Repo 주소를 생성하면 과도하고 비용이 많이 드는 것처럼 보입니다.

어떤 조언이 필요합니까?

+0

업데이트 : 2018 년 2 월 : 공식 프로젝트는 없습니다 vgo : https://stackoverflow.com/a/48914523/6309 – VonC

답변

1

1.5 Go는 vendoring을 지원합니다 (1.6 이후 기본적으로 사용 가능).

가장 좋은 건 개인 패키지의 vendor/ 폴더 아래에 자식 서브 모듈로 패키지를 판매하고 수동으로 업그레이드하는 것입니다.

간단하게 만드는 툴이 많이 있습니다. 저는 개인적으로 manul을 사용했습니다. 다소 단순합니다.

https://github.com/golang/go/wiki/PackageManagementTools은 좋은 읽을 거리입니다.

+1

자세한 도구 설문 조사 : https://blog.filippo.io/analyzing-go -vendoring-with-bigquery/gvt 제작자가 사용법을 측정하고 https://forum.golangbridge.org/t/the-best-dependency-manager/1281에서 논의합니다. – twotwotwo

+0

너희들 닉네임 이름이 '일치'된거야. https://imgur.com/MQ4uQcg – jsxqf

+0

하지만 미래의 무인 항공기입니다. ( – OneOfOne

관련 문제