# go.mod
거두절미하고 go.mod 파일이 없어서 발생하는 에러이다. go.mod란 Go를 사용하는데 필요한 패키지 관리자라고 생각하면 된다. 한마디로 다른 프로그래밍 언어의 경우 path, 즉 환경변수를 설정하고 해당 경로에 필요한 패키지 파일들이 존재하는데 그걸 .mod라는 파일로 대체한다고 본다. 즉, 로컬에 저장할 필요 없이 go.mod를 통해서 원하는 버전을 설정하고 이에 필요한 requirements들을 깃허브에서 가져다 사용한다고 생각하면 된다. 예를 들면 아래와 같은 구조로 되어있다.
go 1.22.0
require github.com/hyperledger/fabric-contract-api-go v1.2.2
require (
github.com/go-openapi/jsonpointer v0.20.0 // indirect
github.com/go-openapi/jsonreference v0.20.2 // indirect
github.com/go-openapi/spec v0.20.9 // indirect
github.com/go-openapi/swag v0.22.4 // indirect
)
# go.mod 정해진 폴더에 설치 및 버전 수정
위와 같은 에러가 발생하는 근본적인 이유는 프로그램에서 설정한 해당 버전의 go.mod가 없기 때문이다. 따라서 go.mod가 없어서 발생한 걸 수도 있지만 아무래도 대게 버전 설정을 잘못했을 가능성이 높다. 그래서 해당 파일을 들어가서 버전을 먼저 살펴보는 것이 가장 좋은 해결 방법이다.
만약에 특정 폴더에 go.mod가 빠져있다면 아래의 명령어로 생성이 가능하다. 명령어 말고 그냥 파일 자체를 만들어줘도 상관없다.
go mod init [폴더명 또는 repository명]
그러고 나서 go run / go build / go tidy (실행 / 실행 파일 / 라이브러리, api)등을 통해서 go.mod 설치를 확인할 수 있다. 마지막으로 빌드 테스트는 아래와 같이 가능하다.
go test ./...
# cannot find module providing package
만약에 위와 같은 에러가 추가로 발생할 경우 import 경로에 문제가 있어서 그런거니, go를 사용하려는 폴더의 경로를 확인해 주면 된다.
"무슨 말인지 잘 모르겠어요." -> 해당 포스트 복사 & 붙여넣기해서 챗지피티한테 물어보면 덜 헤매고 알려줄 것이다.
"그래도 잘 안되네요." -> 댓글 남기면 된다.
'Computer Science > Errors' 카테고리의 다른 글
| 깃허브 푸시 안될때, error: failed to push some refs to (0) | 2025.12.26 |
|---|---|
| 구글 코랩(colab) 한글 폰트 깨짐 현상 (0) | 2025.11.27 |
| 자바기반 .jar 파일이 실행되지 않을때 (6) | 2025.08.05 |
| [Errors] Node.js, Error: Cannot find module (2) | 2024.10.12 |
| [Errors] npm ERR! A complete log of this run can be found in: (1) | 2024.09.30 |
댓글