Bundler, NPM, Brew, RVM, N, etc

Bundler. Package Manager for Ruby Gems. You have a Gemfile with gems and versions that you want to install for your project. Bundler coordinates between all the dependencies for all the gems and versions specified in the gemfile. After running bundle install you have gem libraries installed for your project. http://bundler.io/docs.html

  • bundle install – bring in new gems from the Gemfile
  • bundle update – upgrade all the gems in a project. You probably don’t want that
  • bundle update gemname – update a gem and all it’s dependencies
  • bundle is the same as bundle install.

NPM. Package Manager for Javascript. You have a package.json file with packages and versions that you want to install for your project. NPM does dependency resolution and grabs the gems from the internet to install them, similar to Bundler pulling hosted versions of Ruby Gems. https://docs.npmjs.com

N. Manages versions of Node. You can install it with NPM. https://github.com/tj/n

RVM. Manages versions of Ruby. https://rvm.io

  • rvm install 2.1.1 followed by rvm use 2.1.1 – use ruby 2.1.1 in your project.
  • which ruby is also helpful.

HomeBrew. Package manager for Mac. Can be used to install many programs and libraries. Built with ruby and git under the hood. http://docs.brew.sh

  • brew install somepackage – installs the package!
  • brew update – updates Homebrew and its package installing recipes
  • brew upgrade – upgrades all the packages that you’ve installed with HomeBrew.