오류1. $GOPATH/go.mod exists but should not

리알테·2022년 4월 7일
0

golang

목록 보기
1/3
post-custom-banner

다른 컴퓨터에서는 잘만 돌아가던 소스를 pull받았는데
에러가 뜨면서 아무것도 안되는 심정을 고르시오..

오늘 다른 api를 추가해볼 요량으로 켰지만 결국 해결 50%만 하고서 정리글을 쓴다.

error 상황

  1. git repository를 pull 받고 모든 것이 에러가 나는 상황.
  2. 오류발생하는 컴퓨터는 gogoland도 새로 깐 곳.
  3. go 관련 명령어를 쓰면 어김없이 나타나는 $GOPATH/go.mod exists but should not

실마리

며칠전에 다른 대리님이 GOPATH때문에 모듈로 관리해야 된다는 말을 했었는데? 그리고 저 에러 그대로 치면 검색결과가 몇 있는데 처음에는 이해가 안됐었다.
대체 왜 자꾸 go.mod를 지우라는건지..?

하지만 문제는 역시나 나였다.

해결을 위해 이리저리 설정하다보니 GOPATH를 문제가 발생하는 프로젝트 경로로 설정해 놓은것이었다.
끙..... 원래 go가설정해주는대로 냅뒀다면 이런 에러는 안났겠지..
직역해보니 자꾸 mod파일이 있으면 안된다고해서 지우기까지했었다 ㅋㅋㅋㅋ
그런데 다른 컴에서는 이대로 실행이 됐었으니 미칠노릇!

결과적으로 GOPATH로 지정한 곳에 go.mod 파일이 있으면 안되는 것이었다.

생각해보면

새로운 언어를 배우면서 나는 당연히 pythonanacondareact개발시 사용하는 npm, yarn을 알고 있으면서도 go.mod패키지관련 파일인지를 생각을 못했다..
그리고 go워크스페이스를 하나로하고 그 밑에 여러개의 프로젝트를 관리한다는 말도 대체 뭔가했는데

이렇게 한 번 아예 실행이 안되는 오류가 나고 검색해보다 보니
내가 새로운 언어를 배우면서 제대로 알아보질않았구나라는 반성을 한다.

해결

환경변수의 GOPATHgo.mod 파일이 있는 경로와 같은지 확인하고
같다면 워크스페이스 경로를 적고 프로젝트를 만들고, 그 안에 go.mod를 넣자.
처음이라면 go mod init을 하면 되지만, pull을 받고나서는 go mode tidy를 해보았더니 정리하면서 다운로드하는 거 같다...
공식문서를 봐도 이런 명령어는없는데,, 더 공부필요

ref. https://go.dev/blog/using-go-modules

profile
꾸준히 성실하게
post-custom-banner

0개의 댓글