无法导入 Go 模块

Can't import a Go module

我正在学习 Go 广告我正在尝试构建 go 文件:

package main

import (
    "github.com/go-chi/chi/v5"
    "github.com/go-chi/chi/v5/middleware"
    "net/http"
)

func main() {
    r := chi.NewRouter()
    r.Use(middleware.Logger)
    r.Get("/", func(w http.ResponseWriter, r *http.Request) {
        w.Write([]byte("welcome"))
    })
    http.ListenAndServe(":3000", r)
}

但是当我用命令 go build main.go 构建程序时,它输出:

go: github.com/go-chi/chi/@v1.5.4: missing go.sum entry; to add it:
        go mod download github.com/go-chi/chi/

go.mod:

module exprog

go 1.16

require github.com/go-chi/chi/ v1.5.4

当我执行 go mod download github.com/go-chi/chi/ 时,我得到这个错误:

go: github.com/go-chi/chi/@v1.5.4: malformed module path "github.com/go-chi/chi/": trailing slash

我该怎么办?

假设您要下载这个 module,您应该 go mod download github.com/go-chi/chi/v5。模块的名称是依赖项 go.mod 文件中的 header。

您可以从 go.mod 中删除该条目,只需执行 go mod download github.com/go-chi/chi/v5

您可以从 go.mod 中删除条目,然后执行 go mod tidy。 Go 将根据您的导入填充您的 go.mod 文件。那你可以做go mod download

不是命令出错,go.mod文件出错。您可以通过以下方式修复:

module exprog

go 1.16

require github.com/go-chi/chi/v5 v5