Create a gist now

Instantly share code, notes, and snippets.

What would you like to do?
Switch from RVM to RBENV
## Prepare ###################################################################
# Remove RVM
rvm implode
# Ensure your homebrew is working properly and up to date
brew doctor
brew update
## Install ###################################################################
brew install rbenv
brew install ruby-build
## Config ####################################################################
# Global git ignore
git config --global core.excludesfile ~/.gitignore
printf "vendor/bundle\n.DS_Store\n" >> ~/.gitignore
# Set default bundle path
mkdir -p ~/.bundle
printf -- "---\nBUNDLE_PATH: vendor/bundle" >> ~/.bundle/config
# Instantiate rbenv with your shell (choose preferred file - .profile, .bash_profile, .zshrc, etc)
printf 'eval "$(rbenv init -)"' >> ~/.profile
# Remove the RVM stuff from your .profile - It probably looks like...
[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" # Load RVM function
# Reload your profile
. ~/.profile
# Add autocompletion to IRB
touch ~/.irbrc
printf "require 'irb/completion'" >> ~/.irbrc
## Usage #####################################################################
rbenv
# Choose a ruby flavor version to install
rbenv install 1.9.3-p0
rbenv install 1.9.2-p290
# Rehash rbenv shims (run this after installing binaries)
rbenv rehash
# Set the global Ruby version and install bundler globally
rbenv global 1.9.3-p0
gem install bundler --pre
gem install OTHER_GLOBAL_GEMS # eg) Rails, Heroku, etc - NOTE: You need to do this for each ruby version.
rbenv rehash
# Set a project specific ruby version
cd myproject
rbenv local 1.9.2-p290
# Install gems in Gemfile to vendor/bundle
cd ~/projects/newhotness
bundle
# Start app in context of bundled gems
bundle exec rails s
## RubyMine Notes ############################################################
# Open settings | Ruby SDK & Gems
# Remove ALL RVM related SDK's
# Add new Ruby SDK for project - Find path by found by running `rbenv which ruby` in project directory
# Edit launch/debug configurations | Bundler - enable/check - Run the script in the context of bundler
# Note: RubyMine debugger will install some additional needed gems into your global gem path - eg) ~/.gem/ruby/...

Thanks so much!

Hello, you miss to set the PATH to rbenv in .profile.

$ echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.profile

stouset commented Mar 13, 2013

That path isn't part of rbenv.

biinari commented Apr 15, 2013

Don't need pre-release version of bundler

Thanks for this.

Owner

To avoid rehashing all of the time, have a look at https://github.com/sstephenson/rbenv-gem-rehash

thanks.

this has solved so many headaches for me.

This is awesome!

thanks for putting this together!

kaikuchn commented Aug 6, 2014

Thanks a lot! It was very helpful! 👍

jponc commented Aug 15, 2014

Thanks 👍

Awesome! Thanks!

Thank you! super helpful

stechico commented Sep 4, 2014

Thanks!

wallawe commented Sep 18, 2014

Good stuff. Thank you!

hunj commented Dec 8, 2014

Thank you!

pdostal commented Mar 4, 2015

Nice - I switched from RVM to RBENV in five minutes.

Very helpful! rbenv is definitely much less of a headache.

I just used this for switching, thanks a lot!

Awesome!

poctek commented Mar 14, 2017

Thank you! Very helpful!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment