>  기사  >  백엔드 개발  >  작업 공간 메서드를 사용하여 복제된 golang 라이브러리를 확장하는 방법

작업 공간 메서드를 사용하여 복제된 golang 라이브러리를 확장하는 방법

WBOY
WBOY앞으로
2024-02-10 16:48:08838검색

如何使用工作区方法扩展克隆的 golang 库

PHP 편집자 Zimo는 작업 공간 메서드를 사용하여 복제된 golang 라이브러리를 확장하는 방법에 대한 기사를 제공합니다. 일상적인 개발 과정에서 우리는 종종 효율성과 기능을 향상시키기 위해 타사 라이브러리를 사용합니다. 그러나 때로는 이러한 라이브러리를 사용자 정의하여 수정해야 할 수도 있습니다. 이 기사에서는 작업 공간을 사용하여 복제된 golang 라이브러리를 확장하는 방법을 소개합니다. 간단한 단계를 통해 특정 요구 사항에 맞게 라이브러리를 쉽게 수정하고 사용자 정의할 수 있습니다. 당신이 초보자이든 숙련된 개발자이든 이 글은 golang 라이브러리를 더 잘 사용하는 데 도움이 될 수 있습니다. 이 재미있는 기술을 함께 살펴봅시다!

질문 내용

골랭 애플리케이션을 작성 중인데 기존 라이브러리를 활용하고 싶습니다. 하지만 라이브러리에는 일부 기능이 누락되어 저장소를 포크하고 여기에 새로운 기능을 추가하기로 결정했습니다.

내 애플리케이션에서 분기/확장 라이브러리를 사용하기 위해 golang의 "작업 공간" 기능을 사용했습니다.

내 앱 저장소의 go.work는 다음과 같습니다.

으아악

이것은 포크된 저장소의 기존 패키지만 확장하는 한 잘 작동합니다. 즉. 포크된 저장소에서 새 패키지 생성을 시작하자마자 다음과 같은 빌드 오류가 발생합니다.

포크/복제된 저장소에 다음 콘텐츠가 포함된 새 패키지를 추가했습니다. go-git-cmd-wrapper/log/log.go 으아악

예를 들어 내 애플리케이션에서는 lib의 기존 패키지와 새 패키지를 가져왔습니다

으아악 으아악

이러한 오류를 수정하는 방법은 무엇입니까? 내 작업공간 및/또는 분기된 저장소에 내가 뭘 잘못하고 있나요?

해결 방법

작업 공간 기능을 사용하는 것만으로는 원하는 작업을 수행할 수 없습니다. 이는 기본 가져오기에서 모듈 경로를 읽는 go 도구가 원본 모듈인 원격 저장소를 호출하기 때문입니다. 참고하세요:

https://www.php.cn/link/b99f4242922cd10313630b0ecccda1dc 이 사용 사례를 위해 설계된 go 모듈의 기능을 사용해야 합니다. go 작업 공간에 포크를 유지하고 go.mod에 다음을 추가하세요: replace 으아악

자세한 내용은 여기에서 확인하세요:

https://go.dev/doc/modules/managing-dependent#local_directory

위 내용은 작업 공간 메서드를 사용하여 복제된 golang 라이브러리를 확장하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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