Abstract


  • A tool that automates the entire process of installing, updating, configuring, and removing software on your computer. Also handling dependencies under the hood

Effortless Management

Without a package manager, you’d have to hunt down software, figure out all its dependencies, install everything in the right order – a tedious and error-prone process. Some may even require you to compile from source which requires a compiling tool chain.

  • The list below shows the comparison of commands of package managers lik Brew, apt & Pacman etc

Brew


Package Management

List all the installed packages: brew list

Check for outdated package: brew outdated

Upgrade all packages: brew upgrade

Check for deprecated packages: brew doctor

Pipx


  • Package Manager for Python Applications
  • Install with Brew - brew install pipx && pipx ensurepath

Package Management

List all the installed packages: pipx list

Upgrade all packages: pipx upgrade-all

Caution

Currently, there isn’t a way to check for outdated packaged. Refer to this issue for more updates on this matter.

NPM


Package Management

npm list -g - list all the installed packages

npm update -g - update all the packages

npm outdated -g - check for outdated packages

Cargo


Package Management

ls ~/.cargo/bin - list all the installed packages

Updating packages - Cargo doesn’t come with a command to upgrade installed packages. We need to re-install the packages to update the packages.

Pacman


Pacman on Tren!

Paru is a wrapper around Pacman written in Rust. Very similar syntax, zero learning curve.

Package Management

Install packages: pacman -S

Search for a package: pacman -Ss

Upgrade all packages: pacman -Syu

Remove a package: pacman -R

Install package from package-name.pkg.tar.xz

sudo pacman -U package-name.pkg.tar.xz

Basher


  • A Package Manager for shell scripts. You can install it with curl -s https://raw.githubusercontent.com/basherpm/basher/master/install.sh | bash. Refer to its Github Page for more information

Basic usage

Install package: basher install <github_username>/<project_name> or the full URL to the git repo that isn’t hosted on Github.

Uninstall package: basher install <github_username>/<project_name>

Check for outdated package: basher outdated

Upgrade all packages: basher upgrade --all

Download from Github


  • Github has many useful tools, but some of them aren’t part of Package Manager we can use on our system. We can still install the executables without compiling ourselves if they offer releases

Install executables from Github releases page

Install the executable using wget -qO package.tbz <GITHUB_PROJECT_URL>/releases/latest/download/<ASSET_FILENAME>.

Then we can decompress the file with tar xf <ASSET_FILENAME>, go into the decompressed folder and move the executable to /usr/local/bin. And now we should be able to call the executable from the Terminal!

Caution

We need to manually update the packages installed.

References