missing go.sum entry for module providing package <package_name>

Paulo picture Paulo · Apr 21, 2021 · Viewed 34.1k times · Source

Using the buffalo framework, after bootstraping it via buffalo new <project_name>

I am trying to run buffalo dev Expecting to see:

project running on port 3000

But I am getting those error messages instead

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

actions/app.go has been generated by buffalo, but in case you are wondering the error does match the import statement in this file.

// 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"
)

What does it mean ? How do I fix it ?

Answer

Paulo picture Paulo · Apr 21, 2021

It seems the issue has nothing to do with Buffalo and more with my lack of understanding of Go in general.

running go mod tidy solved the issue

This command goes through the go.mod file to resolve dependencies:

  • delete the packages that are not needed
  • download those needed
  • update the go.sum

I am still unsure which of those actions did the trick... but the project runs now.

ps: I'll let the in-depth explanation/correction to the Go wizard out here.