Go Modules 써보기
2021-03-14 17:04:24
Go 1.11버전부터 생겼으며, 더 이상 GOPATH 내에서 프로젝트를 시작하지 않아도 된다 👏🏻
사용할 프로젝트 폴더에서 아래의 명령어를 쓰게 되면 go.mod란 파일이 생긴다.
1 | go mod init 프로젝트명 |
아래의 명령어로 필요한 모듈을 받으면 되며 나는 Gin 웹프레임워크를 다운 받았다
1 | go get github.com/gin-gonic/gin |
go.mod 파일에 추가 되었고, go.sum이란 파일이 생겼는데 이건 Node.js에서
package-lock.json과 같은 개념 인듯 (좀 더 정확히 같은 버전을 받기 위함)
그리고 대충 main.go에 코드 작성하고 실행 및 빌드하였을때 모두 정상적으로 되었다.
다운로드된 Gin은 나의 $GOPATH/pkg/mod/github.com에 있었으며 해당 폴더를 삭제 하고
다시 프로그램을 실행 하니 자동으로 다시 Gin을 다운 받았었다.
지원하는 명령어가 좀 있는데 그냥 해본거만 적어 본다 나머진 필요하면 그 떄 가서…
1 | go mod download # 의존성 모듈 다운로드, 근데 사실 쓸 일은 없을듯..? |
불편한 점?으로 VSCode에서는 go-mod를 적용한 폴더가 2개 이상을 띄워놓으면 패키지 선언에 오류가 적혀있는데
gopls란 VSCode내에 Go 지원 모듈에서 go.mod는 루트 내에만 있어야된다나 뭐래나 😤 암튼 향후 지원 할꺼라고 하는듯d
실제로 실행 하면 잘 되긴 한다 근데 에러 보면 불편 하니까.. 걍 폴더 하나만 열고 작업하면 됨 😂
참조