Golang을 사용하여 프로그램에 대한 모든 종속성 파일을 얻는 방법


91

golang으로 프로그램을 만들고 코드를 완성한 후 다른 PC 나 VM에서이 코드를 실행하려면 모든 종속성 패키지 파일을 가져 오지 않습니다. 모든 종속성 파일을 어떻게 얻을 수 있습니까?

go 

답변:


10

godep save프로그램을 완료하는 로컬 PC에서 사용할 수 있습니다 . godep save는 모든 종속성 파일을 수집합니다. 다른 PC로 이동할 때 코드와 함께 Godep 폴더를 복사하면 문제가 해결됩니다.


7
어떤 사람들에게는 당연한 일이긴하지만 저는 이걸 파헤쳐 야했습니다. Go에 godep 또는 dep 패키지를 설치해야합니다. 이에 대한 Github stie는 여기에 있습니다 : github.com/tools/godep
Patratacus

212

go get -d ./...프로젝트의 디렉토리에서 실행 하여 모든 go-gettable 종속성을 다운로드 할 수 있습니다 .
또는 srcGOPATH의 모든 하위 디렉터리를 대상 컴퓨터로 복사합니다 .
...재귀 적으로 내려가도록 지시하는 특별한 패턴입니다.


1
코드를 실행 / 수정해야하는 경우 패키지를 찾을 수 없습니다.

1
get <package>로 패키지를 얻을 수 있다는 것을 알고 있지만 프로그램이 많은 패키지를 사용할 때 너무 많은 시간이 걸리고 어렵습니다.

4
-t는 또한 테스트 의존성을 설치합니다
honzajde

3
@AlbertoSchiabel ...은 특별한 패턴입니다. 재귀 적으로 내려가라고합니다. 나는 대답을 업데이 트했습니다
RoninDev

감사합니다 @RoninDev! 처음에는에 대한 답변을 편집 ./.하려고했는데, 내 PC에서 명령을 시도한 후 약간 멈 췄기 때문입니다. 먼저 물어보십시오. 감사!
Alberto Schiabel

51

시험

go list -f '{{ join .Imports "\n" }}'

또는

go list -f '{{ join .Deps "\n" }}'

두 번째는 모든 하위 종속성을 나열하고 첫 번째는 직접 가져온 패키지 만 나열합니다.


23

아래 명령은 모든 종속성을 다운로드합니다.

go get -u -v -f all

그건 시간이 오래 걸려요 !!! 프로젝트에서 사용한 적이없는 패키지를 다운로드합니다!
Yuseferi
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.