Golang

import 의존성 오류

시바도지 2022. 6. 29. 23:21
반응형

문제 발생 예시)

Linux에서 go run main.go 명령을 실행하여 main.go 파일을 실행하려고 한다.

main.go 파일의 import 에는 다른 디렉토리에 생성한 모듈을 사용하려고 한다.

그러나 터미널창에서  `main.go:OOO OOO is not in GOROOT(/usr/local/go/OOO/OOO)` 라는 오류가 발생함.

 

 

 

해결 방법

 

방법 1.

기존의 go.mod 파일이 있다면 삭제한 후 다음의 명령어를 실행하여 현재 디렉토리 내에 새 모듈을 생성한다.

go mod init [모듈명]

명령어를 사용하여 현재 디렉토리에 새 모듈을 생성한다.

 

모듈 생성 후 main.go에서 다른 go 파일의 함수를 호출하기 위해서 import를 수정한다.

package main

import (
	[alias] "모듈명/.go파일이 있는 파일명" // alias는 선택 사항
)

func main() {
...
}

 

원인

 

컴파일러가 내가 의도하지 않은 경로에서 package를 찾고 있었기 때문

사실 go.mod 파일을 직접 수정해도 괜찮지만, 프로젝트 규모가 작거나 큰 문제가 없다면 삭제 후 다시 생성하는 것이 편하다.

 

반응형

'Golang' 카테고리의 다른 글

Golang 문자열 다루기 (strconv, strings)  (0) 2022.12.10
Golang Time  (0) 2022.09.13
JSON data 사용하기  (0) 2022.04.23
ioutil 패키지를 사용하여 파일 읽기/쓰기  (0) 2022.04.23
Local package import 오류  (0) 2022.02.21