Skip to content

Instantly share code, notes, and snippets.

@brentertz
Created November 21, 2011 23:00
Show Gist options
  • Save brentertz/1384279 to your computer and use it in GitHub Desktop.
Save brentertz/1384279 to your computer and use it in GitHub Desktop.
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/...
@rcdilorenzo
Copy link

Thanks so much!

@julianduque
Copy link

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

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

@stouset
Copy link

stouset commented Mar 13, 2013

That path isn't part of rbenv.

@biinari
Copy link

biinari commented Apr 15, 2013

Don't need pre-release version of bundler

@joshnesbitt
Copy link

Thanks for this.

@brentertz
Copy link
Author

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

@christophermlne
Copy link

thanks.

this has solved so many headaches for me.

@gilesvangruisen
Copy link

This is awesome!

@hollingberry
Copy link

thanks for putting this together!

@kaikuchn
Copy link

kaikuchn commented Aug 6, 2014

Thanks a lot! It was very helpful! 👍

@jponc
Copy link

jponc commented Aug 15, 2014

Thanks 👍

@mortalfish
Copy link

Awesome! Thanks!

@hellobrian
Copy link

Thank you! super helpful

@shrwnsan
Copy link

shrwnsan commented Sep 4, 2014

Thanks!

@wallawe
Copy link

wallawe commented Sep 18, 2014

Good stuff. Thank you!

@hunj
Copy link

hunj commented Dec 8, 2014

Thank you!

@pdostal
Copy link

pdostal commented Mar 4, 2015

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

@douglasresende
Copy link

👍

@asampat3090
Copy link

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

@andersennl
Copy link

I just used this for switching, thanks a lot!

@ktdmedia
Copy link

@christian-acuna
Copy link

Awesome!

@poctek
Copy link

poctek commented Mar 14, 2017

Thank you! Very helpful!

@Waleeta
Copy link

Waleeta commented Aug 16, 2017

This was extremely helpful, thank you.

@janaipakos
Copy link

👍

@louismanson
Copy link

Great, Thanks

@msuzoagu
Copy link

msuzoagu commented May 9, 2018

thank you!

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