Skip to content

Restructuring of folders/links #213

@rarkins

Description

@rarkins

Today we see paths like this:

/usr/local/helm/3.7.1
/usr/local/dotnet
/home/ubuntu/.gem-global/bin
/home/ubuntu/.gem/ruby/3.0.0/bin
/usr/local/ruby/3.0.3/bin
/home/ubuntu/.cargo/bin
/usr/local/rust/1.57.0/bin
/usr/local/go/1.17.4/bin
/go/bin
/usr/local/elixir/1.13.0/bin
/home/ubuntu/.npm-global/bin
/usr/local/yarn/1.22.17/bin
/home/ubuntu/.local/bin
/usr/local/python/3.10.0/bin
/usr/local/poetry/1.1.12/bin
/usr/local/pnpm/6.23.1/bin
/usr/local/php/7.4.26/bin
/usr/local/node/14.18.2/bin
/usr/local/java/11.0.13+8/bin
/usr/local/gradle/6.9.1/bin
/usr/local/composer/2.1.14/bin
/home/ubuntu/bin
/home/ubuntu/bin
/usr/local/sbin
/usr/local/bin
/usr/sbin
/usr/bin
/sbin
/bin

Can we restructure how we install so that it can be like this?

/home/ubuntu/bin
/usr/local/sbin
/usr/local/bin
/usr/sbin
/usr/bin
/sbin
/bin

By this I'm hoping what can happen is that every time install-tool installs a version of a too, it symlinks it to /usr/local/bin or /home/ubuntu/bin.

e.g. install-tool npm 8.0.0 might install it into /home/ubuntu/.npm-global/bin but then there's be a symlink from /home/ubuntu/.npm-global/bin/npm to /home/ubuntu/bin/npm.

If we don't have to think about paths and dynamic ENV injection then wouldn't it be much easier to know what's installed?

Metadata

Metadata

Assignees

Labels

breakingBreaking change, requires major version bumppriority-3-normalDefault priority, "should be done" but isn't prioritised ahead of othersstatus:in-progressSomeone is working on implementationtype:refactorRefactoring or improving of existing code

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions