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

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 ?



Solution 1:[1]

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.

Solution 2:[2]

i got the same issue when building a docker image. i tried go mod tidy and also go get -t . as suggested here https://github.com/golang/go/issues/44129. both didnt worked for me though but updating my docker builder to version 1.18 worked.

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 Taufiq Rahman
Solution 2 Stanley Coffey