How to build terraform-ls

I was trying to build the terraform-ls (https://github.com/hashicorp/terraform-ls) and was looking at building instructions in https://github.com/hashicorp/terraform-ls/blob/master/.github/CONTRIBUTING.md .

Problems:

  • it mentions to run make build but makefile doesn’t have a build target
  • trying to install go version from .go-version using goenv results in:
goenv install
go-build: definition not found: 1.14.9

My go version is go version go1.15.3 darwin/amd64 so hopefully it would still work but the Makefile problem is a deal breaker. :slight_smile:

Hi @rchl
We have recently removed the makefile target in favour of the building workflow available natively in Go.

What I believe is happening there is that your goenv doesn’t have definition for installing that “later” version of Go. AFAIK Go 1.14 can still receive patches and these patches still need to make their way into goenv somehow.

We may at some point switch to 1.15, but until then may I suggest you try to upgrade your goenv?

I have figured it out in the end. Using different Go version was not an issue. It’s just that the building documentation is outdated and I had to instead do go install and go build, I believe.

Got it, I can raise a PR to update the documentation, but go install should certainly work - I use it almost daily myself.

Thanks for the nudge either way!

Here is the promised PR: https://github.com/hashicorp/terraform-ls/pull/293