만들어진 go(golang) 패키지에 go.mod(Modules) 추가하기 (1.15 이하 버전을 1.16이상 버전으로 컨버팅)

go(golang) 1.16 버전 이후, go.mod를 사용하도록 강제되었다.
이런 이유로 1.15 버전으로 만들어진 패키지를 실행하기 위해서 패키지를 설치하면 아래와 같은
오류가 잔뜩 발생한다.

 % go run read_config.go
read_config.go:4:5: no required module provides package gopkg.in/gcfg.v1: go.mod file not found in current directory or any parent directory; see 'go help modules'

 

그렇다고 필요 패키지를 설치하려면 오류가 발생해서 workaround로 아래 설정해주려니 잠시는 되어도 호환성 문제가 발생한다.

https://blog.encicle.com/go-116-beojeon-ihuui-gomod-olyuleul-haegyeolhagi-wihae-115-iha-beojeon-seoljeong-byeongyeong

 

그래서 아래 명령어를 사용해서 간단하게 go.mod 파일을 생성해주면 패키지가 1.16 버전용으로 컨버팅된다.

"go mod init 패키지명"

seongmu.kim@seongmukim-MacPro read_config_file % ls
config.conf	read_config.go

seongmu.kim@seongmukim-MacPro read_config_file % go mod init encicle.com/read_config_file
go: creating new go.mod: module encicle.com/read_config_file
go: to add module requirements and sums:
	go mod tidy

seongmu.kim@seongmukim-MacPro read_config_file % ls
config.conf	go.mod		read_config.go

seongmu.kim@seongmukim-MacPro read_config_file % go mod tidy
go: finding module for package gopkg.in/gcfg.v1
go: downloading gopkg.in/gcfg.v1 v1.2.3
go: found gopkg.in/gcfg.v1 in gopkg.in/gcfg.v1 v1.2.3
go: finding module for package gopkg.in/warnings.v0
go: downloading gopkg.in/warnings.v0 v0.1.2
go: found gopkg.in/warnings.v0 in gopkg.in/warnings.v0 v0.1.2

seongmu.kim@seongmukim-MacPro read_config_file % go run read_config.go
Hello?
{{0 true     }}