본문 바로가기
Golang

import 의존성 오류

by 시바도지 2022. 6. 29.
반응형

문제 발생 예시)

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

댓글