Without specifying a version and/or using a dependency management solution, it’s just a matter of time before things break. This is not just about Echo in particular, any project can introduce breaking changes and if you’re not prepared for that, you end up exactly as you did now: with a broken build.
My recommendation would be to learn about dependency management and pick some solution. Finally, Go has an official one: https://github.com/golang/go/wiki/Modules
To get your build back working quickly you can do one of two things (off the top of my head):
- upgrade Go to one of the supported versions: https://github.com/labstack/echo#supported-go-versions or
- vendor Echo in your project:
$ git clone https://github.com/labstack/echo.git
$ cd echo
$ git checkout v3.3.10
$ cd ..
$ rm -rfv echo/.git # echo's own .git will just be in the way
$ mkdir -p <your_project>/vendor/github.com/labstack
$ mv echo <your_project>/vendor/github.com/labstack/
... test it, commit, etc.
From that point on, you have your own copy of Echo which you can upgrade at your own pace, AFTER you have tested that it does not break things. That’s what dependency management can do for you, except that this one is kind of manual. There are better ways (suggested above).
Of course, if you can update the Go version, that’s even better.