Go에서 프로젝트별 GOPATH를 어떻게 정의할 수 있나요?

Mary-Kate Olsen
풀어 주다: 2024-11-16 16:33:03
원래의
912명이 탐색했습니다.

How Can I Define a Project-Specific GOPATH in Go?

프로젝트별 GOPATH 정의

문제:

여러 Go 프로젝트를 작업할 때, 모든 프로젝트에 대해 단일 GOPATH를 생성하면 관리 문제가 발생할 수 있습니다. 바이너리 및 타사 라이브러리는 프로젝트 독립적이므로 여러 라이브러리 버전을 유지 관리하기가 어렵습니다.

해결책:

각각에 GOPATH를 정의하는 방법에는 여러 가지가 있습니다. -프로젝트 기반:

Bash Shell 기능:

Linux/Unix 환경의 경우 내장된 cd 명령을 재정의하기 위해 bash 쉘 함수를 생성할 수 있습니다. 이 함수는 현재 디렉터리와 해당 상위 디렉터리에서 .gopath 파일을 검색하여 그에 따라 GOPATH를 설정합니다. 샘플 코드:

cd () {
    builtin cd "$@"
    cdir=$PWD
    while [ "$cdir" != "/" ]; do
        if [ -e "$cdir/.gopath" ]; then
            export GOPATH=$cdir
            break
        fi
        cdir=$(dirname "$cdir")
    done
}
로그인 후 복사

Visual Studio 코드:

"Go for Visual Studio Code" 확장을 사용하면 VSCode를 사용하면 도구에 대한 전역 GOPATH를 구성할 수 있습니다. 또한 각 프로젝트에 대한 로컬 GOPATH를 추론합니다. 로컬 GOPATH는 src 디렉토리의 상위 폴더로 설정되어 프로젝트별로 설정됩니다.

GOPATH 모듈:

Go 1.11부터 모듈은 선택적 메커니즘을 제공합니다. 프로젝트 기반 워크플로우를 위한 것입니다. 이 접근 방식을 사용하면 수동으로 GOPATH를 설정할 필요가 없으며 프로젝트 종속성을 관리하기 위한 보다 세부적인 접근 방식을 사용합니다.

위 내용은 Go에서 프로젝트별 GOPATH를 어떻게 정의할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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