Package Managers are tools that help you manage the programs on your computer. It makes it easier to install, update, and uninstall programs.

Installing things isn’t so bad when the program comes with an official installer - you just click “next” a few times, and you’re done. But sometimes, software doesn’t come with an easy-to-use tool. You’re expected to install it yourself.

Installing from Scratch

To install a program from scratch, you typically do some, or all, of these things:

  1. Download the source code. (Usually in a zip or tar file.)
  2. Extract the code into a folder.
  3. Move the folder to where you want it to be. (On Windows, this is usually the “Program Files” folder.)
  4. Run the Makefile, which creates an actual program you can run. (May already be provded.)
  5. Adjust your PATH environment variable. (So your terminal can find your program.)

It’s especially tough when you’re just starting out. You open your terminal, run python, but nothing happens. How are you supposed to know you need to edit your PATH, when you don’t even know it exists? :(

For beginner and experienced developers alike, this process isn’t quite as streamlined as it could be. What if you could type install <program>, and it gets installed for you? What a world that would be.

As it turns out, that’s exactly what package managers do. The future is now! (Actually, they first came into existence in the 1990s, but close enough.)

Tell me more

Different operating systems have different package managers.

Operating SystemPackage Manager
WindowsScoop, Chocolatey
MacHomebrew
LinuxApt, Dpkg (and more)

Windows

Mac

Linux

  • Should come with the operating system.
    • Ubuntu uses Apt, and Debian uses Dpkg.

Installation

For the rest of this article, I’ll focus on installing Scoop on the Windows operating system. (Why Scoop over Chocolatey? Scoop just seemed simpler, and fit my needs so far.)

All information is pulled from Scoop’s official GitHub page.

  1. Open the “Powershell” program on your computer. (You can search for it using the “Search” feature in the Taskbar.)

  2. Prepare Powershell to install Scoop. You can run the below command by pasting, and pressing “Enter”.

Set-ExecutionPolicy RemoteSigned -scope CurrentUser

Tip: If pasting is more trouble than it should be… Powershell automatically copies what you highlight to the clipboard, so try not to click/drag your mouse too much.

  1. Install Scoop. (Just the first line is needed.)

For security purposes, I didn’t want to include the command directly on this blog. (Better to trust the official source than me :)

  1. Try running scoop help in Powershell. You should see something like this:
$ scoop help
Usage: scoop <command> [<args>]

Some useful commands are:

alias       Manage scoop aliases
bucket      Manage Scoop buckets
install     Install apps

... (Commands removed for brevity)

Type 'scoop help <command>' to get help for a specific command.

Finding Packages

The actual programs you’ll want to install depend on your use case. But say you wanted to install 7-Zip, you can just run scoop install 7zip.

That being said, I don’t have a good way of finding out whether Scoop supports a specific program.

I normally just try running the install command, and if it works, it works. ¯\(ツ)/¯ Otherwise, I search through their list of programs on GitHub.

(They support more programs by the way - those are just default ones available. Check out the extras bucket for more options.)

Useful Commands

scoop install <program> Installs the program you want.

scoop update Updates Scoop.

scoop update <program> Updates that program.

scoop list Lists the programs you installed with Scoop.

scoop uninstall <program> Uninstalls the program.

If you want the inside scoop more information on how to use Scoop, a good page to start is Scoop’s Wiki page.

Conclusion

Phew. I hope you’ve learned more about package managers. They’re a tool that helps make life easier, especially for software developers.

As always, thanks for reading!