> 백엔드 개발 > Golang > 여러 경로가 있는 Go 모듈

여러 경로가 있는 Go 모듈

WBOY
풀어 주다: 2024-02-10 11:30:10
앞으로
487명이 탐색했습니다.

具有多个路径的 Go 模块

PHP 편집자 Zimo 소개: 최근 Go 언어의 모듈 관리 도구에 새로운 기능 다중 경로 모듈이 도입되었습니다. 이 기능의 도입으로 개발자는 Go 모듈을 사용할 때 모듈 경로를 보다 유연하게 지정할 수 있습니다. 과거에는 개발자가 고정 경로에만 모듈을 설치할 수 있었기 때문에 모듈 종속성이 더 복잡해졌습니다. 이제 다중 경로 모듈의 출현으로 개발자에게 더 많은 선택권이 제공되어 모듈 관리가 더욱 편리하고 유연해졌습니다. 개발자는 프로젝트 요구 사항에 따라 다양한 경로에 모듈을 설치할 수 있으므로 모듈 관리 및 버전 제어가 향상됩니다. 이 새로운 기능의 도입으로 Go 언어의 개발 효율성과 편의성이 더욱 향상될 것입니다.

질문 내용

여러 위치에 미러링되는 Go 모듈이 있습니다. 하나는 gitlab에 있고 다른 하나는 bitbucket에 있습니다. 새로운 gitlab 위치를 기반으로 하려고 하면 다음과 같은 결과가 나옵니다.

으아아아

왜 이런 일이 발생하는지 알지만 go.mod를 "or"로 정의하려면 어떻게 해야 하나요?

해결책

짧은 답변: 할 수 없습니다.

하지만 모든 것을 잃지 않을 수도 있습니다...

모듈 경로에서 참조하는 위치와 어떤 이유로 다운로드를 선호하는 다른 위치에 코드가 있는 경우 지정된 모듈 경로에서 원하는 다운로드 소스로 참조를 리디렉션하도록 git alias 구성할 수 있습니다.

으아아아

별칭을 완전히 대체할 필요는 없습니다. 별칭을 사용하여 모든 모듈 경로에서 prefix를 바꿀 수 있습니다. 따라서 server에서 여러 모듈을 호스팅하는 경우 해당 모듈이 사용됩니다(저장소 이름이 동일한 경우). 예를 들어 다음과 같이 로컬 azuredevops 서버 git 저장소에서 호스팅되는 모듈에 대해 "친숙한" 모듈 경로를 만드는 데 사용합니다. 으아아아 그러면 우리 모듈은 자신을 으로 식별할 수 있습니다.

(

Azure DevOps 기능에는 접미사가 필요합니다

)tfs.myorg.com/somemodule.git ,但是当 go get 尝试获取此 git 时,它将在 https://tfs.myorg.com/myorgcollection/_git/somemodule 中查找它.git

솔직히 말해서 동일한 서버의 경로를 "다시 작성"하기 위해 완전히 다른 서버에서 이 작업을 시도하지는 않았지만 원칙적으로는 작동해야 합니다. 따라서 귀하의 경우:

으아아아 이것은 .git에 적용되기 때문입니다.

i.e.

에서 선언한

모듈 경로를 인용해야 하는 경우:

으아아아 git 级别的事物,就 go 而言,它仍然从 bitbucket.org 获取,即使 git 将在后台访问 gitlab.com이 작업의 유일한 단점은 모듈 경로에 선언된 위치가 아닌 다른 곳에서 소스를 가져와야 하는 모든 워크스테이션(및 빌드 머신)에서 별칭을 구성해야 한다는 것입니다

.

위 내용은 여러 경로가 있는 Go 모듈의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:stackoverflow.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿