Skip to content

Instantly share code, notes, and snippets.

@sadfuzzy
Forked from brentertz/rvm2rbenv.txt
Last active October 2, 2015 11:08
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save sadfuzzy/2233421 to your computer and use it in GitHub Desktop.
Save sadfuzzy/2233421 to your computer and use it in GitHub Desktop.
Switch from RVM to RBENV (Mac OS)

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 SDKs
  • Add new Ruby SDK for project - Find path by 'found by', executing 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/...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment