>백엔드 개발 >Golang >My Go 컴파일러가 내 외부 패키지를 찾을 수 없는 이유는 무엇입니까?

My Go 컴파일러가 내 외부 패키지를 찾을 수 없는 이유는 무엇입니까?

Barbara Streisand
Barbara Streisand원래의
2024-12-05 19:38:10219검색

Why Can't My Go Compiler Find My External Packages?

GOROOT가 아닌 Go 패키지 사용

질문: "package package1 is not in GOROOT(/usr/local/go/ src/package1)" 외부 패키지를 사용하려고 할 때 Go.

설명: 이 오류는 Go 컴파일러가 표준 라이브러리 GOROOT 디렉터리에서 지정된 패키지를 찾을 수 없을 때 발생합니다. 패키지가 설치되지 않았거나 표준 라이브러리 외부에 있는 것으로 나타납니다.

해결책:

  1. 환경 변수 구성:

    • GO111MODULE 환경 변수가 모듈 지원을 활성화하려면 "on"으로 설정합니다.
    • GOPATH 환경 변수를 GOROOT 외부 디렉터리로 설정합니다.
    • GOPATH/bin 및 GOROOT/bin을 모두 PATH 환경 변수에 추가합니다.

    예를 들어, .bashrc에 다음 줄을 추가할 수 있습니다. 파일:

    export GO111MODULE=on
    export GOPATH=/mnt/sda1/programming/gopath
    export PATH=$PATH:$GOPATH/bin
    
    export GOROOT=/usr/local/go
    export PATH=$PATH:$GOROOT/bin
  2. 환경 변수 로드:

    • 소스를 실행하여 환경 변수 다시 로드 ~/.bashrc.
  3. 메인 패키지 초기화:

    • 메인 프로젝트에 대한 새 디렉토리를 생성하고 go mod init가 있는 모듈 main.
  4. 외부 패키지 만들기:

    • 외부 패키지에 대한 별도의 디렉터리를 만듭니다.
    • 외부 패키지 디렉터리 내에서 첫 번째 패키지 package1 문을 사용하여 필요한 파일을 만듭니다. line.
  5. 외부 패키지 가져오기:

    • 기본 Go 파일(main.go)에서 외부 패키지를 가져옵니다. 기본 패키지 디렉터리에 대한 상대 경로를 사용하여 패키지를 만듭니다. 예를 들면 다음과 같습니다.
    import "main/package1"

이 단계를 수행하면 Go 컴파일러가 외부 패키지를 찾아 사용할 수 있도록 하여 "패키지 package1이 GOROOT에 없음" 문제를 해결할 수 있습니다. " 오류가 발생했습니다.

위 내용은 My Go 컴파일러가 내 외부 패키지를 찾을 수 없는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.