I spent many years working in academia, where the typical development environment was an on-premises Linux cluster where I was given a user without sudo
rights.
In the absence of root access, the recommended way to install packages was to ask the system administrators to do so. However, this process can introduce considerable delays, so I was keen to look for alternative solutions.
Version managers
For installing programming language-related tooling, it’s recommended to use version managers. Here’s a short list of the version managers I found useful:
- asdf – Ruby, Node.js, Elixir, Erlang, and plugins for Julia, etc.
- pyenv – Python 2 and 3
- rustup - Rust
- RVM (Ruby Version Manager) – Ruby
- SDKMAN! – primarily Java tooling, including JVMs, Gradle, Maven, Hadoop, Spark, etc.
AWS CLI
AWS CLI v1 is no longer supported. AWS CLI v2 can be installed by manually specifying the --install-dir
and --bin-dir
arguments:
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
unzip awscliv2.zip
./aws/install --install-dir ~/awscli --bin-dir ~/bin/aws
~/bin/aws/aws --version
DuckDB
DuckDB can be installed without root access and act as a replacement for other CLI tools.