mdbraber / acmeproxy

Proxy server for ACME DNS challenges written in Go
MIT License
82 stars 20 forks source link

Consider providing build instructions for people who aren't familiar with Go #5

Open Znuff opened 4 years ago

Znuff commented 4 years ago

As per title, as a complete newbie to Go, which is only interested in running the binary result of this project, I have absolutely no idea and I feel at a total loss on how to get this running.

After cloning the repo, you are left running make until to get a "cryptic" make: golangci-lint: Command not found error.

Upon searching for this command on the web (because it's nowhere in my distributions' packages), I could only stumble upon this github issue: https://github.com/golangci/golangci-lint/issues/648

Obviously, running that go get ... command doesn't really seem to do anything, because it:

  1. doesn't exactly output anything (unless you run it with -v as I have found out later) to the terminal
  2. still doesn't provide you with any golangci-lint command anyway

Eventually my adventure led me to https://golangci-lint.run/usage/install/#local-installation

After I finally realized that Golang itself doesn't give a rats' ass about any known Linux conventions that people have been accustomed over the last 20+ years and just place new binaries in /usr/local/bin (if system-wide), or, even better, just use the $HOME/bin as normal software does, and just decides to add binaries to $HOME/go/bin, because why the hell not, I got myself a working golangci-lint.

But then, I was met with the great:

rm -rf dist/ builds/ cover.out
golangci-lint run
ERRO Running error: context loading failed: failed to load program with go/packages: unsupported version of go: exit status 2: flag provided but not defined: -compiled
usage: list [-e] [-f format] [-json] [build flags] [packages]
Run 'go help list' for details.
Makefile:32: recipe for target 'checks' failed
make: *** [checks] Error 3

2/10, poor user experience

I realise that this project's purpose is not to teach Golang-clueless people like me the inner works on this whole eco-system, and that I only got myself to blame, but please consider providing built binaries of this project because it does seem like a very useful project all around, and it's just sad that I need a 2 days crash-course intro to Golang to actually figure out how to run it

mdbraber commented 4 years ago

@Znuff thanks for your feedback. You're right that instruction could definitely be better. The project has gained a bit more attraction lately and therefore could do with an update of the docs. I'll try and improve them in the future. Also feel free to submit a PR for any improvements!