Microsoft MVP성태의 닷넷 이야기
오류 유형: 758. go: ...: missing go.sum entry; to add it: go mod download ... [링크 복사], [링크+제목 복사],
조회: 21633
글쓴 사람
정성태 (techsharer at outlook.com)
홈페이지
첨부 파일
 

go: ...: missing go.sum entry; to add it: go mod download ...

go.mod 작성하고,

D:\gowork\work\hello> go mod init hello
go: creating new go.mod: module hello
go: to add module requirements and sums:
        go mod tidy

GoLand에서 d:\gowork\work\hello 디렉터리를 프로젝트로 열어 go.mod에 패키지 참조 하나 추가하고,

module hello

go 1.17

require (
    gopkg.in/ini.v1 v1.51.0
)

저장하면, GoLand는 해당 패키지를 다운로드하고 프로젝트 뷰에 "External Libraries"로 추가도 해줍니다. 그런데, 코드에서 사용하고,

package main

import (
    "fmt"
    "gopkg.in/ini.v1"
    "os"
)

func main() {
    fmt.Println("Hello Go World")
    fmt.Println(os.Getwd())

    ini.Load('test.conf')
}

빌드를 하면 이런 오류 메시지가 발생합니다.

test.go:5:2: missing go.sum entry for module providing package gopkg.in/ini.v1; to add:
    go mod download gopkg.in/ini.v1

Compilation finished with exit code 1

명령행에서 직접 빌드해도 마찬가지인데요,

D:\gowork\work\hello> go build
test.go:5:2: missing go.sum entry for module providing package gopkg.in/ini.v1 (imported by hello); to add:
        go get hello

오류 메시지가 좀 마음에 들지 않습니다. ^^; "to add"라고 하면서 해결책을 알려 주는데 전혀 도움이 되지 않는 문구입니다.

이것은 이 글의 상단에 "go mod init ..." 명령어에서 나온 "go mod tidy"를 실행해야,

D:\gowork\work\hello> go mod tidy
go: finding module for package github.com/smartystreets/goconvey/convey
go: found github.com/smartystreets/goconvey/convey in github.com/smartystreets/goconvey v1.6.4

해당 패키지를 위한 정보가 구성된 go.sum 파일이 생성됩니다.

D:\gowork\work\hello> type go.sum
github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1 h1:EGx4pi6eqNxGaHF6qqu48+N2wcFQ5qg5FXgOdqsJ5d8=
github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY=
github.com/jtolds/gls v4.20.0+incompatible h1:xdiiI2gbIgH/gLH7ADydsJ1uDOEzR8yvV7C0MuV77Wo=
github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU=
github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d h1:zE9ykElWQ6/NYmHa3jpm/yHnI4xSofP+UP6SpjHcSeM=
github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc=
github.com/smartystreets/goconvey v1.6.4 h1:fv0U8FUIMPNf1L9lnHLvLhgicrIVChEkdzIKYqbNC9s=
github.com/smartystreets/goconvey v1.6.4/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA=
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/tools v0.0.0-20190328211700-ab21143f2384/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
gopkg.in/ini.v1 v1.51.0 h1:AQvPpx3LzTDM0AjnIRlVFwFFGC+npRopjZxLJj6gdno=
gopkg.in/ini.v1 v1.51.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k=

이렇게 하고 나서야 오류 없이 "go build"가 성공합니다.




참고로 GoLand는 go.mod 파일을 우클릭한 경우 "Go Mod Tidy"라는 메뉴를 제공합니다. 사실, 저 정도는 IDE 자체에서 go.mod 파일을 저장할 때 자동으로 해줘도 좋을 텐데... 굳이 저렇게 사용자가 명시해야 할 이유가 뭘까... 궁금하군요.




[이 글에 대해서 여러분들과 의견을 공유하고 싶습니다. 틀리거나 미흡한 부분 또는 의문 사항이 있으시면 언제든 댓글 남겨주십시오.]







[최초 등록일: ]
[최종 수정일: 8/25/2021]

Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.
by SeongTae Jeong, mailto:techsharer at outlook.com

비밀번호

댓글 작성자
 




[1]  2  3  4  5  6  7  8  9  10  11  12  13  14  15  ...
NoWriterDateCnt.TitleFile(s)
14010정성태9/1/2025640오류 유형: 983. apt update 시 "The repository 'http://deb.debian.org/debian buster Release' does not have a Release file." 오류
14009정성태8/28/2025851닷넷: 2360. C# 14 - (11) Expression Tree에 선택적 인수와 명명된 인수 허용파일 다운로드1
14008정성태8/26/20251072닷넷: 2359. C# 14 - (10) 복합 대입 연산자의 오버로드 지원파일 다운로드1
14007정성태8/25/20251419닷넷: 2358. C# - 현재 빌드에 적용 중인 컴파일러 버전 확인 방법 (#error version)
14006정성태8/23/20251799Linux: 121. Linux - snap 패키지 관리자로 설치한 소프트웨어의 디렉터리 접근 제한
14005정성태8/21/20251394오류 유형: 982. sudo: unable to load /usr/libexec/sudo/sudoers.so: libssl.so.3: cannot open shared object file: No such file or directory
14004정성태8/21/20251544오류 유형: 981. dotnet 실행 시 No usable version of the libssl was found
14003정성태8/21/20251627닷넷: 2357. C# 14 - (9) 새로운 지시자 추가 (Ignored directives)
14002정성태8/20/20251890오류 유형: 980. C# - appsettings.json 파일의 설정값이 적용 안 된다면?
14001정성태8/19/20252510닷넷: 2356. .NET SDK 10 - 단일 소스 코드 파일을 빌드/실행하는 기능을 "dotnet" 명령어에 추가 [1]
14000정성태8/18/20252027오류 유형: 979. ERROR: failed to solve: failed to read dockerfile: open Dockerfile: no such file or directory
13999정성태8/15/20252117닷넷: 2355. C# 14 - (8) null 조건부 연산자 개선 - 대입문에도 사용 가능파일 다운로드1
13998정성태8/14/20251990닷넷: 2354. C# 14 - (7) 확장 메서드에 정적 메서드와 속성 지원을 위한 전용 구문 추가파일 다운로드1
13997정성태8/14/20252074Linux: 120. docker 컨테이너로 매핑된 볼륨에 컨테이너 측의 사용자 ID를 유지하면서 복사하는 방법
13996정성태8/13/20251579오류 유형: 978. Unable to find the requested .Net Framework Data Provider.
13995정성태8/13/20251713개발 환경 구성: 754. Visual C++ - 리눅스 빌드를 위한 Ubuntu 18 docker 컨테이너 설정
13994정성태8/12/20251632오류 유형: 977. SQL Server - User, group, or role '...' already exists in the current database. (Microsoft SQL Server, Error: 15023)
13993정성태8/11/20252304오류 유형: 976. Microsoft.ML.OnnxRuntimeGenAI 패키지 사용 시 "cublasLt64_12.dll" which is missing. (Error 126: "The specified module could not be found.") 오류
13992정성태8/11/20252408닷넷: 2353. C# - Foundry Local을 이용한 gpt-oss-20b 모델 사용파일 다운로드1
13991정성태8/9/20252177오류 유형: 975. winget - Foundry Local 패키지 업데이트가 안 되는 문제
13990정성태8/8/20251697Windows: 283. Time zone 설정이 없는 Windows Server 2025
13989정성태8/8/20252276닷넷: 2352. C# - Windows S-mode 환경인지 체크하는 방법파일 다운로드1
13988정성태8/8/20252308오류 유형: 974. 비주얼 스튜디오 업데이트 시 잠김 파일 경고 - Visual Studio Standard Collector Service 150 (VSStandardCollectorService150)
13987정성태8/7/20252179닷넷: 2351. C# 14 - (6) event와 생성자에도 partial 메서드 적용파일 다운로드1
13986정성태8/6/20252003닷넷: 2350. C# 14 - (5) 람다 매개 변수에 접근자가 있는 경우에도 타입 생략 가능파일 다운로드1
[1]  2  3  4  5  6  7  8  9  10  11  12  13  14  15  ...