Notice
Recent Posts
Recent Comments
Link
Doodly IT
[Go 묘공단 스터디] $GOPATH/go.mod exists but should not 에러 본문
Go개발환경을 구축하면서 아래 에러 메세지를 만났는데,
해당 에러는 디렉토리 선언이 달라져서 생기는 문제이다.
설치하면서 파일이 엉켰는지 모르겠지만 환경변수 GOPATH가 Go설치파일을 가리키고 있었기 때문이다.
해결하는 방법은 환경변수 2개를 선언을 해준다.
GOPATH : 현재 작업중인 디렉토리의 ROOT
GOROOT: Go의 컴파일러가 존재하는 파일 ( 가장 먼저 설치된파일)
나같은 경우는
작업중인 디렉토리는 문서\Go에 있으니까 C:\Users\201821026\Documents\Go이고
Go의 bin, pkg 파일은 C:\Users\201821026\go에 있기 때문에 해당 경로로 설정해준다.
2023-11-29 업데이트 내용> 새로 Go언어를 깔다가 내가 한대로 했는데 안되어서 다시 시도해봤다. GOPATH에는 현재 작업중인 디렉토리의 경로(C:\User\users\Go)선언한다. 그 후 해당 디렉토리에 example 폴더를 만든다.( 패키지를 만든다.) example 디렉토리에서 go mod init example 명령어를 쳐서 go.mod 파일을 만든다. (만약 안된다면 Go 루트에서 go.mod를 만들고 이를 example로 옮긴다.) 그 후 example 디렉토리에 src 폴더를 만들고 src폴더안에 example.go를 만든다.(hello world출력같은 테스트코드) 그 이후에 해당 코드를 go build로 빌드해서 exe파일이 만들어지는지 확인한다. Go ㄴ bin ㄴ pkg ㄴ example ㄴ pkg/mod ㄴ src ㄴ example.go ㄴ example.exe ㄴ go.mod |
또 여기서 go.mod파일이 GOPATH가 가리키는 파일안에 있다면 삭제해준다.
그리고 다시 go mod init 명령어를 실행시켜준다.
나같은 경우는 example폴더안에 코드들을 넣을 것이기 때문에 아래와 같이 명령어가 쓰이게 된다.
그러면 go.mod가 새로 만들어진다. 해당 go.mod를 뜯어보면
위에 선언한것 처럼 example파일을 모듈화하는 구문이 있다.
그다음 example 폴더를 만들어주고 그 안에다가 새로운 소스코드를 만들고 빌드가 되는지 확인하면 끝!
'프로그래밍 > Go' 카테고리의 다른 글
[Go 묘공단 스터디] 함수 (0) | 2023.11.08 |
---|---|
[Go 묘공단 스터디] 연산자 (1) | 2023.11.06 |
[Go 묘공단 스터디] 입출력 (0) | 2023.11.06 |
[Go 묘공단 스터디] 변수 사용하기 (1) | 2023.11.06 |
[Go 묘공단 스터디] Go 개발환경 구축하기 (2) | 2023.11.06 |