jdx/mise

`mise i go` adds redundant PATH entry to non-existing dir

Closed this issue · 3 comments

Describe the bug
mise i go adds 2 PATH entries, one is valid but second is both redundant and non-working because points to non-existing dir.

To Reproduce

$ mise i go
$ mise bin-paths | grep /go/ | xargs ls -ld
ls: cannot access '/home/powerman/.local/share/mise/installs/go/1.23.2/go/bin': No such file or directory
drwxr-xr-x 2 powerman powerman 4096 Nov  5 09:55 /home/powerman/.local/share/mise/installs/go/1.23.2/bin

Expected behavior
~/.local/share/mise/installs/go/1.23.2/go/bin shouldn't be added to PATH.

jdx commented

seems to be it should be there since go install will install CLIs to that directory. Not existing shouldn't cause any problems.

acx0 commented

FYI which go had stopped working for me after upgrading from 2024.11.1 -> 2024.11.2 last night (debian testing), with my ~/.mise.toml containing:

[tools]
go = '1.23.2'

Looks like it's working again after updating to 2024.11.3 just now.

edit: should also mention, at the time it stopped working my global config was in a ~/.tool-versions file, which I then migrated to ~/.mise.toml when investigating

seems to be it should be there since go install will install CLIs to that directory.

No, go install is not configured to use that non-existing dir. Currently it's configured to use a directory with go binary itself:

$ which go
/home/powerman/.local/share/mise/installs/go/1.23.2/bin/go
$ go env GOBIN
/home/powerman/.local/share/mise/installs/go/1.23.2/bin

See also about current GOBIN: #2929