From RVM to rbenv
Danny Smith
October 8, 2013
I recently switched from RVM (Ruby Version Manager) to rbenv for Ruby version and gem management. This isn't so much of a 'howto', as a dump of my bash history for anyone looking to make a similar transition. Why I Left RVM RVM had several issues that frustrated me: - Complicated gem and Ruby version management - The system felt overly complex - Unclear storage locations - I never knew where gems and Ruby versions were actually stored - Confusing gemset commands - The gemset system was hard to understand and manage Why rbenv is Better rbenv offers several advantages: - Simpler to understand - The system is more transparent - Works well with Bundler - Better integration with modern Ruby workflows - Easier project-specific Ruby version management - files just work The Migration Process Here's the process I followed to switch: 1. Completely remove RVM - Clean out all RVM-related files and configurations 2. Clean out old Ruby and gem installations - Start fresh 3. Install rbenv via Homebrew - Use the package manager for easy installation 4. Install desired Ruby versions - Install 1.9.3 and 2.1.4 (the versions I needed) 5. Set up default gems - Install commonly used gems 6. Install rbenv plugins - Add rbenv-bundler for better Bundler integration The Result The goal was to create "a decent local ruby environment that I actually understand." rbenv delivers on this promise by being: - Transparent - I can see exactly what's happening - Simple - No complex gemset management - Reliable - Works consistently across projects Key Commands The most important rbenv commands I use daily: The switch from RVM to rbenv was one of the best development environment decisions I've made. If you're frustrated with RVM's complexity, rbenv is definitely worth considering.
Discussion in the ATmosphere