タグ: module

  • 【解決法】go1.16でビルドエラー「no required module provides package github.com」が発生する場合

    【解決法】go1.16でビルドエラー「no required module provides package github.com」が発生する場合

    go1.16 で golang を書いて build すると、タイトル通りのエラーが表示された。

    調べてみると go 1.15 までは go buildgo test などのコマンドを実行すると、 go.modgo.sum の内容をよしなに更新されていたが、go 1.16 からは自動では更新されなくなったようだ。

    これを解決するには

    $ go mod tidy

    とすることで、go のモジュールに書かれている不足分のパッケージを go.mod に書き込んでくれる

    % go build -o hoge.go
    main.go:7:2: no required module provides package github.com/hackebrot/turtle; to add it:
            go get github.com/hackebrot/turtle
    
    
    % go mod tidy
    go: finding module for package github.com/hackebrot/turtle
    go: downloading github.com/hackebrot/turtle v0.1.0
    go: found github.com/hackebrot/turtle in github.com/hackebrot/turtle v0.1.0
    go: finding module for package github.com/hackebrot/go-repr/repr
    go: finding module for package github.com/google/go-cmp/cmp
    go: downloading github.com/google/go-cmp v0.5.5
    go: downloading github.com/hackebrot/go-repr v0.1.0
    go: found github.com/google/go-cmp/cmp in github.com/google/go-cmp v0.5.5
    go: found github.com/hackebrot/go-repr/repr in github.com/hackebrot/go-repr v0.1.0
    
    % go build -o hoge.go
    

    参考情報

    https://golang.org/ref/mod#go-mod-tidy