I decided to place them all in one place for containment. I used the names from envvars to get a simple answer to a simple question: *where is GOROOT?*, *in go/root*.
GOMODCACHE picks up GOPATH. GOTOOLDIR picks up GOROOT. GOTMPDIR defaults to system's tmp dir, I'm fine with that. On Wednesday, December 9, 2020 at 9:02:46 AM UTC+2 Gergely Födémesi wrote: > To clarify the go compiler toolchain is a trivial tree. Compared to > most other mainstream languages and compilers, it's not scattered to > different subtrees. I believe quite some effort went into that to stay > that way. > When using the go compiler toolchain some directories are used for > caching compiler artifacts. (You could easily delete all of these > files between compiling sessions, you'll still be able to compile > everything again. Though only a very space constrained environment > would require such a peculiar workflow.) > > If you are a go programmer the subtrees you set explicitly are 100% > managed by the toolchain, there is no _need_ to ever look at them. > Please note, that if you set them explicitly and with that you > inadvertently mix and match different versions of go toolchain > binaries and cached artifacts you'll most probably run into issues you > don't want to have. > > Sure the environment variables can be set differently, if you have > special requirements (maybe you don't have enough space on the same > device). Sorry I wasn't clear: I tried to ask for these special > requirements. > To rephrase and clarify my original question: besides "Paths in > symmetry with the environmental variables" why is it valuable to > rearrange the subtrees for your use case? What are your > requirements/issues you came up with a solution for? > > To help with your original question, assuming your only goal is to > manage all subtrees exposed by environment variables "go env" shows at > least 3 more trees you might want to set (GOMODCACHE, GOTOOLDIR, > GOTMPDIR.) > > > > On 12/9/20, Dumitru Ungureanu <itmi...@gmail.com> wrote: > > Yes, there is no requirement to manage the envvars. I personally believe > > there is a requirement to know about them, though. > > I read the installation doc, I think there's a hang up on your part on > this > > > > one. > > The default go tree is scattered different places, beside the obvious > > trivial tree you're mentioning. > > I'm arranging all the paths in a single place and I harmonize the paths > > with the envvars. > > Maybe you're missing the whole point I'm making in this blog post? > > https://mitflit.ro/blog/golang-paths-of-mitflit/ > > > > On Tuesday, December 8, 2020 at 10:47:27 PM UTC+2 Gergely Födémesi wrote: > > > >> There is no requirement to manage these variables or to know about them, > >> even if you don't use the installer. > >> > >> I never use the installer and I've never needed to check on those > >> environment variables. > >> > >> (The installation documentation is short and complete, maybe you should > >> check it out again.) > >> > >> The installed go compiler is really just a trivial tree. > >> > >> On Tue, Dec 8, 2020, 17:38 Dumitru Ungureanu <itmi...@gmail.com> wrote: > >> > >>> I don't use an installer. I set GOROOT/bin manually. And the rest > >>> follows. Easy to remember, nothing to forget. > >>> > >>> On Tuesday, December 8, 2020 at 6:28:50 PM UTC+2 Gergely Födémesi > wrote: > >>> > >>>> On 12/8/20, Dumitru Ungureanu <itmi...@gmail.com> wrote: > >>>> > Paths in symmetry with the environmental > >>>> > variables: GOROOT is go/root, GOPATH is go/path, GOBIN is go/bin. > >>>> GOCACHE is > >>>> > go/cache, GOENV is go/env. > >>>> > Bonus points: modules in go/modules. > >>>> > >>>> Why do you need to manage them explicitly? When do you need to look at > >>>> GOROOT, GOBIN, GOCACHE or GOENV? > >>>> > >>>> (I've never set or checked GOROOT, GOBIN, GOCACHE or GOENV explicitly. > >>>> After modules became the default, I've never set GOPATH either.) > >>>> > >>>> > > >>>> > On Tuesday, December 8, 2020 at 4:45:06 PM UTC+2 Gergely Födémesi > >>>> wrote: > >>>> > > >>>> >> On 12/7/20, Dumitru Ungureanu <itmi...@gmail.com> wrote: > >>>> >> ... > >>>> >> > I'm currently using this directory tree for golang. > >>>> >> ... > >>>> >> What do you mean when you write "golang"? > >>>> >> > >>>> >> Why is https://golang.org/doc/install not good enough for the go > >>>> >> compiler? > >>>> >> > >>>> > > >>>> > -- > >>>> > You received this message because you are subscribed to the Google > >>>> Groups > >>>> > "golang-nuts" group. > >>>> > To unsubscribe from this group and stop receiving emails from it, > send > >>>> > > >>>> an > >>>> > email to golang-nuts...@googlegroups.com. > >>>> > To view this discussion on the web visit > >>>> > > >>>> > https://groups.google.com/d/msgid/golang-nuts/f5c636d8-97e3-4fc1-a28f-d5cc93a0fa52n%40googlegroups.com > . > >>>> > >>>> > >>>> > > >>>> > >>> -- > >>> You received this message because you are subscribed to the Google > Groups > >>> > >>> "golang-nuts" group. > >>> To unsubscribe from this group and stop receiving emails from it, send > an > >>> > >>> email to golang-nuts...@googlegroups.com. > >>> > >> To view this discussion on the web visit > >>> > https://groups.google.com/d/msgid/golang-nuts/86ab9747-9c2c-4f91-9980-6d00b3a3af13n%40googlegroups.com > >>> > >>> < > https://groups.google.com/d/msgid/golang-nuts/86ab9747-9c2c-4f91-9980-6d00b3a3af13n%40googlegroups.com?utm_medium=email&utm_source=footer > > > >>> . > >>> > >> > > > > -- > > You received this message because you are subscribed to the Google Groups > > "golang-nuts" group. > > To unsubscribe from this group and stop receiving emails from it, send an > > email to golang-nuts...@googlegroups.com. > > To view this discussion on the web visit > > > https://groups.google.com/d/msgid/golang-nuts/c0ed7490-800b-424e-834a-4f928be2a52en%40googlegroups.com > . > > > -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/golang-nuts/192395fd-c961-4257-a2be-4add7afb74a5n%40googlegroups.com.