go-nv / goenv

:blue_car: Like pyenv and rbenv, but for Go.

Home Page:https://github.com/go-nv/goenv

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

go doesn't work if have `/usr/bin/go`

atomita opened this issue · comments

#247 moved the shims directory to the end of the PATH, so go doesn't work if have /usr/bin/go.

# the shims directory to the end of the PATH
which go
/usr/bin/go
# the shims directory to the start of the PATH
which go
~/.anyenv/envs/goenv/shims/go

@atomita I stopped installing /usr/bin/go on any build machine when I started using goenv years ago -- too many opportunities for confusion if it's left in place. Removing your system Go would be my recommendation. Is there a reason that can't be done on your platform?

Maybe goenv should check if there is a "system" version and warn about the behavioral PATH collision?

Future folks who find this thread -- please see #247 (comment).

@ChronosMasterOfAllTime That may not be a bad idea -- I don't have the bandwidth to think through if or how it would work. Are you volunteering? ;-)

Otherwise something in the README might be in order -- I just spotted #289; there will likely be others.

@ankitcharolia our version doesn't have a dependency on go or Python. It uses native shell which makes it more portable.

goenv should override the system go. But not require it removed.

I had to remove it, and each time I play with my package manager in debian, I fear a chain of dependencies breaking. Luckily, not much dependencies. But you never know when some random install or script pulls in the go dependency back.

So, really, it should not be a "just remove the system go" "solution"... goenv should override the system go.