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     }}