缺少提供包 <package_name> 的模块的 go.sum 条目

Pau*_*ulo 14 go buffalo

使用 buffalo 框架,在通过引导它之后 buffalo new <project_name>

我正在尝试运行buffalo dev 期望看到:

在端口 3000 上运行的项目

但我收到了这些错误消息

actions/app.go:4:2: missing go.sum entry for module providing package github.com/gobuffalo/buffalo (imported by sc_api/actions); to add:go get sc_api/actions

actions/app.go:13:2: missing go.sum entry for module providing package github.com/gobuffalo/mw-csrf (imported by sc_api/actions); to add: go get sc_api/actions
Run Code Online (Sandbox Code Playgroud)

actions/app.go 已由 buffalo 生成,但如果您想知道错误是否与此文件中的导入语句匹配。

// app.go
package actions

import (
    "github.com/gobuffalo/buffalo"  // 1rst line
    "github.com/gobuffalo/envy"
    forcessl "github.com/gobuffalo/mw-forcessl"
    paramlogger "github.com/gobuffalo/mw-paramlogger"
    "github.com/unrolled/secure"

    "sc_api/models"

    "github.com/gobuffalo/buffalo-pop/v2/pop/popmw"
    csrf "github.com/gobuffalo/mw-csrf"  // 2nd line
    i18n "github.com/gobuffalo/mw-i18n"
    "github.com/gobuffalo/packr/v2"
)
Run Code Online (Sandbox Code Playgroud)

这是什么意思 ?我如何解决它 ?

Pau*_*ulo 44

这个问题似乎与水牛无关。更多的是我对围棋缺乏了解。

运行go mod tidy解决了问题

此命令通过 go.mod 文件来解析依赖项:

  • 删除不需要的包
  • 下载需要的
  • 更新 go.sum

我仍然不确定这些操作中的哪一个起到了作用……但是项目运行了。

ps:我会在这里对 go 向导进行深入的解释/更正。

  • 这里也完全是菜鸟,这对我有帮助! (21认同)

z9f*_*9fr 13

我在构建 docker 镜像时遇到了同样的问题。我尝试过go mod tidy,也go get -t .按照此处的建议https://github.com/golang/go/issues/44129。虽然两者都对我不起作用,但将我的 docker 构建器更新到版本1.18有效。


小智 13

我使用go mod tidy -e解决了问题。-e 标志(在 Go 1.16 中添加)会导致 go mod tidy 尝试继续,尽管在加载包时遇到错误。更多信息mod tidyhttps://go.dev/ref/mod#go-mod-tidy