package github.com/liamg/traitor/cmd/traitor: mkdir /home/test/go: not a directory
Does go assume that you have a directory in $HOME that is for it's own personal use? package github.com/liamg/traitor/cmd/traitor: mkdir /home/test/go: not a directory
Does go assume that you have a directory in $HOME that is for it's own personal use?The project has to opt into it, which appears to be the case here since there is a `go.mod` file. Are you using a modern version of Go?
2. If you don't use modules, $GOPATH is used.
3. If $GOPATH isn't set, it defaults to ~/go.
and it's also just for depedencies it downloads.
_your_ code lives where you put it
Perhaps that's changed, but it put me off the language entirely.
I think a lot of it is just growing pains, but it still feels clunky. My system has a .cache folder that everything already uses, why does Go need a special cache?
As for multi-language projects and conflicting layout needs: oh yeah, that's still terrible. Maybe try Bazel? It can break `go`(the CLI binary)'s rules and build any package from any source files, regardless of their locations. None of that is part of the language spec, `go` is just opinionated and inflexible (probably for simplicity).