Go Modules 써보기
2021-03-14 17:04:24

Go 1.11버전부터 생겼으며, 더 이상 GOPATH 내에서 프로젝트를 시작하지 않아도 된다 👏🏻

사용할 프로젝트 폴더에서 아래의 명령어를 쓰게 되면 go.mod란 파일이 생긴다.

1
2
3
4
5
6
go mod init 프로젝트명
cd 프로젝트명
cat go.mod
# module github.com/go_mod_study 내가 작성한 프로젝트명
#
# go 1.16 현재 go 버전

아래의 명령어로 필요한 모듈을 받으면 되며 나는 Gin 웹프레임워크를 다운 받았다

1
2
3
4
go get github.com/gin-gonic/gin
cat go.mod
# 위와 동일
# require github.com/gin-gonic/gin v1.6.3

go.mod 파일에 추가 되었고, go.sum이란 파일이 생겼는데 이건 Node.js에서

package-lock.json과 같은 개념 인듯 (좀 더 정확히 같은 버전을 받기 위함)

그리고 대충 main.go에 코드 작성하고 실행 및 빌드하였을때 모두 정상적으로 되었다.

다운로드된 Gin은 나의 $GOPATH/pkg/mod/github.com에 있었으며 해당 폴더를 삭제 하고

다시 프로그램을 실행 하니 자동으로 다시 Gin을 다운 받았었다.

지원하는 명령어가 좀 있는데 그냥 해본거만 적어 본다 나머진 필요하면 그 떄 가서…

1
2
go mod download # 의존성 모듈 다운로드, 근데 사실 쓸 일은 없을듯..?
go mod tidy # 다운 받은 모듈인데 실제 사용하지 않으면 의존성 제거 한다 (근데 이미 VSCode에서 안 쓰고 있다고 경고 함)

불편한 점?으로 VSCode에서는 go-mod를 적용한 폴더가 2개 이상을 띄워놓으면 패키지 선언에 오류가 적혀있는데

gopls란 VSCode내에 Go 지원 모듈에서 go.mod는 루트 내에만 있어야된다나 뭐래나 😤 암튼 향후 지원 할꺼라고 하는듯d

실제로 실행 하면 잘 되긴 한다 근데 에러 보면 불편 하니까.. 걍 폴더 하나만 열고 작업하면 됨 😂

참조

Prev
2021-03-14 17:04:24
Next