Skip to content

Instantly share code, notes, and snippets.

@ltfschoen
Forked from brentertz/rvm2rbenv.txt
Last active August 8, 2017 13:36
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 ltfschoen/aa549bcb5df9c98d95c81aee4a9a69cf to your computer and use it in GitHub Desktop.
Save ltfschoen/aa549bcb5df9c98d95c81aee4a9a69cf to your computer and use it in GitHub Desktop.
Switch from RVM to RBENV
## Prepare ###################################################################
# Remove RVM
rvm implode
sudo rm -rf /Users/<your_username>/.rvm/
# Remove RVM from ~/.bash_profile and ~/.bash_rc
# Ensure your homebrew is working properly and up to date
brew doctor
brew update
## Install ###################################################################
# https://github.com/rbenv/rbenv
brew install rbenv
rbenv init
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
# Show Gems installed
gem list
# Install RBEnv Gemset https://github.com/jf/rbenv-gemset
brew install rbenv-gemset
# Change into project directory
cd snapr
# Install Ruby version required for a specific Ruby app
rbenv install 2.1.6
# Initialise Gemset
rbenv gemset init
# Create Gemset under specific Ruby version
rbenv gemset create 2.1.6 app-snapr
# List Gems installed
rbenv gemset list
ruby -v
which ruby
# Switch to Ruby version with RBEnv
rbenv local 2.1.6
# Set a project specific ruby version
cd myproject
rbenv local 1.9.2-p290
# Install Gems
# 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/...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment