What software / package managers are frequently installed on macOS that can be updated via the command line?

The software / package managers could either be included with macOS, or they could be software that many people (including myself) might have installed.

I'm writing a zsh script to update all such software on my machine, like:

  • gem
  • homebrew
  • oh my zsh
  • pip
  • sdkman

I want to ensure that I'm not missing anything that can be updated.

I'm currently skipping updating cpan, because whenever I've tried, I get tons of errors. Are there any other command-line software updaters that frequently experiences errors while updating?

Are there any other package managers that I should use instead of one of the above?

I know that this contains multiple questions, but they're all related, so I figured it makes sense to group them together.

  • I don't really understand the question. I see you refer to homebrew and sdkman, which already can keep packages (=software) up to date. Why do you want your own script to do the same? Commented Mar 10, 2020 at 16:02
  • @SaaruLindestøkke Most of the time, you need to run multiple commands to update each single package manager. Also, I can run one script that will update every package manager I use. My current top level script calls 6 other scripts, each of which is 2 - 6 lines of code (besides shebangs & whitespace). So, I can just run update instead of having to remember & retype 30 or so lines of code (which sometimes parses the responses of previous commands to be input for subsequent commands).
    – XDR
    Commented Mar 10, 2020 at 18:22

1 Answer 1


Two other package managers are MacPorts and Fink.

  • Does this update everything you’ve used homebrew to install, or just homebrew itself?
    – Eric S
    Commented Mar 19, 2020 at 1:56
  • @jmh I know how to update the software listed in my question (which includes hombrew), I just want to know what other software that might be on my machine can also be updated. e.g., I didn't know that Oh My Zsh could be updated until recently, so I accidentally missed out on updating that. Once I know what can be updated, I can read the relevant documentation to learn how to update it.
    – XDR
    Commented Mar 19, 2020 at 10:41

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.