Go - 패키지가 GOROOT에 없습니다.

2840 단어 go
아래 오류는 변경GOPATH, 두 개의 패키지 작성, 일부 코드 작성 시 발생했습니다.

% package other/pkg1 is not in GOROOT (/usr/local/go/src/other/pkg1)


원인은 패키지 구조입니다. 합치면 해결됩니다.

오류



아래는 에러가 발생했을 때의 디렉토리 구조입니다.

${GOPATH}/src
|-- other
|   |-- go.mod
|   `-- pkg1
|       `-- pkg1.go
`-- prj
    |-- go.mod
    `-- main.go

prj 패키지는 other/pkg1 에 있지만 GOPATH 를 참조할 수 없습니다.

코드는 아래에 있습니다.

prj/main.go

package main

import "other/pkg1"

func main()  {
    pkg1.Func()
}


기타/pkg1/pkg1.go

package pkg1

import "fmt"

func Func() {
    fmt.Println("called func in pkg1")
}


고치다


otherprj를 포함하면 오류가 해결됩니다.

${GOPATH}/src
`-- prj
    |-- go.mod
    |-- main.go
    `-- other
        `-- pkg1
            `-- pkg1.go


prj/main.go

package main

import "prj/other/pkg1"

func main()  {
    pkg1.Func()
}

좋은 웹페이지 즐겨찾기