Update MacPorts, Ruby Gems, Node Packages and Python Packages with One Command

Off topic but still helpful…

Like many devs I make use of a variety of open source software, package management tools, etc – all of which need to be updated on a regular basis to stay up-to-date with the most recent releases.

Rather than manage each one individually, a simple alias in your ~/.profile comes in very handy:


  • I haven’t been able to find a command to update all installed Node packages at once so I’m listing them individually for now.
  • This assumes that npm is installed via MacPorts.
  • Unfortunately this fails when pip freeze lists a package that can’t be installed from PyPI anymore.

Then you can simply invoke it like so…

Of course if you need to handle specific versions of a port or gem individually, this won’t work for you. But if you just want to be current on everything, this will do the trick.