go build 시 "package maps is not in GOROOT" 오류
go build를 했더니 이런 오류가 발생합니다.
$ go build
../go/pkg/mod/github.com/cilium/ebpf@v0.16.0/btf/marshal.go:8:2: package maps is not in GOROOT (/usr/lib/go-1.18/src/maps)
../go/pkg/mod/github.com/cilium/ebpf@v0.16.0/btf/core.go:9:2: package slices is not in GOROOT (/usr/lib/go-1.18/src/slices)
딱히 어떤 대처를 해야 할지 알 수 없는데요, mod tidy 명령을 내렸더니 그나마 해결책이 제시됩니다.
$ go mod tidy
go: go.mod file indicates go 1.21, but maximum version supported by tidy is 1.18
실제로 저 메시지에 따라 현재 설치된 go 버전은 1.18이고, 해당 프로젝트의 go.mod 파일에서 요구하는 버전은 1.21이었습니다.
$ go version
go version go1.18.1 linux/amd64
$ cat go.mod
module test_sample
go 1.21
require (
...[생략]...
)
따라서, 최신 버전으로 업그레이드를 하는 것으로 해결할 수 있습니다.
Ubuntu - 원하는 golang 버전 설치
; https://www.sysnet.pe.kr/2/0/13764
[이 글에 대해서 여러분들과 의견을 공유하고 싶습니다. 틀리거나 미흡한 부분 또는 의문 사항이 있으시면 언제든 댓글 남겨주십시오.]