>백엔드 개발 >Golang >작업공간을 종속성으로 다른 Go 저장소로 가져오는 방법은 무엇입니까?

작업공간을 종속성으로 다른 Go 저장소로 가져오는 방법은 무엇입니까?

王林
王林앞으로
2024-02-09 08:33:20634검색

如何将工作区作为依赖项导入到另一个 go 存储库中?

php 편집자 Yuzai는 Go 언어에 대한 질문을 여러분과 공유하기 위해 왔습니다: "작업 공간을 다른 Go 저장소에 종속성으로 가져오는 방법은 무엇입니까?" Go 언어 개발에서 종속성 관리는 자주 묻는 질문입니다. 때로는 프로젝트에서 사용하기 위해 작업공간을 다른 저장소에 종속성으로 가져와야 할 수도 있습니다. 이 글에서는 Go 언어 프로젝트의 종속성을 더 잘 관리하는 데 도움이 되도록 이 목표를 달성하는 방법에 대해 자세히 소개하겠습니다.

질문 내용

저는 다중 작업 공간 프로젝트를 가지고 있으며 구조는 다음과 같습니다:

으아악

이 프로젝트에는 하위 모듈이 포함되어 있습니다. apps 及其 go.work 파일 내용:

으아악

이것을 사용하고 싶은 또 다른 go 프로젝트(별도 저장소)가 있습니다. app子模块作为库导入,下面是go.mod:

으아악

다음 코드는 다음과 같습니다.

으아악

다음 오류로 인해 컴파일이 실패했습니다:

으아악

다중 작업 공간 프로젝트에서 하위 모듈을 가져오는 방법은 무엇입니까?

해결 방법

작업 영역을 가져올 수 없습니다.

현재 상황은 다음과 같습니다

github.com/zhaoyi0113/test-go-module/apps 有一个模块 声明其模块路径github.com/zhaoyi0113/test-go-module。该模块不可用,因为该模块的实际路径与声明的路径不匹配(请注意其中一个路径中缺少 /apps).

xxxx 모듈은 이전 단락에서 설명한 대로 github.com/zhaoyi0113/test-go-module,但在该路径下没有找到模块。它位于 apps 하위 디렉터리에 있어야 합니다.

모듈을 배치하려는 위치에 따라 두 가지 가능한 수정 방법이 있습니다.

가져온 go.mod를 현재 디렉터리에 유지하려면 다음을 포함하도록 모듈 경로를 업데이트하세요. apps:

가져오기 모듈의 go.mod:

으아악

go.mod 모듈 가져오기:

으아악

두 번째도 일반 옵션이에요 프로젝트의 루트 디렉터리에 go.mod를 넣고 프로젝트 외부에 go.work 파일을 넣기만 하면 됩니다. 이를 구현하려면 go.mod를 프로젝트의 루트로 이동하고(원래 커밋에 있었기 때문에) go.work를 다른 곳으로 이동하세요. 가져온 모듈을 변경할 필요가 없습니다.

위 내용은 작업공간을 종속성으로 다른 Go 저장소로 가져오는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 stackoverflow.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제