rrichards
11/6/2014 - 9:30 AM

bootstrap-ruby.sh

#!/bin/bash
set -e # exit on error
### README
# * built for Ubuntu (Lucid Lynx)
# * uses GIT via SSH because of !@#$% proxy at work
# * installs your desired ruby version (1.9.2-p290 per default) using rbenv
# ** including openssl (needed by bundler)
# ** including sqlite (probably needed for rails apps)
#
# Before you start:
# * put ssh-keys in place
# * $ ssh git@github.com
# * If you're behind a proxy, be sure to set $http_proxy etc!
#
# After the Script has run:
# * reload your .profile
### /README

### CONFIG
# Ruby Version to install
RBVER='1.9.3-p392'
### /CONFIG


PROFILE=~/.profile
# update system, just in case
sudo aptitude update
#sudo aptitude full-upgrade

# install some dependancies
sudo aptitude install -y \
  build-essential zlib1g-dev \
  libssl-dev openssl \
  libreadline-dev \
  sqlite3 libsqlite3-dev \
  libxslt-dev libxml2-dev \
  curl wget git-core

# build-essential zlib1g-dev  required to install ruby
# libssl-dev openssl          required for openssl extension
# libreadline-dev             required for IRB
# sqlite3 libsqlite3-dev      required for sqlite gem
# libxslt-dev libxml2-dev     required for nokogiri gem
# curl wget git-core          can i haz tools?

cd
### Install rbenv
test -d ~/.rbenv || git clone git@github.com:sstephenson/rbenv.git ~/.rbenv
# modify $PATH and autoload rbenv
grep 'rbenv/bin' $PROFILE &>/dev/null || echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> $PROFILE
grep 'rbenv init' $PROFILE &>/dev/null || echo 'eval "$(rbenv init -)"' >> $PROFILE
mkdir -p ~/.rbenv/plugins
# reload shell
source $PROFILE

### Install ruby-build
test -d ~/.rbenv/plugins/ruby-build || git clone git@github.com:sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build

### Install Ruby
rbenv install $RBVER --with-openssl-dir=/usr/local
# reload binaries
rbenv rehash
# set as default version
rbenv global $RBVER

ruby -v

# set some defaults
test -s ~/.gemrc || echo 'gem: --no-rdoc --no-ri' >> ~/.gemrc
echo 'Here is your ~/.gemrc:'
cat ~/.gemrc
echo '=== end of .gemrc ==='

# install bundler
gem install bundler
rbenv rehash
grep 'BUNDLE_WITHOUT' $PROFILE &>/dev/null || echo 'export BUNDLE_WITHOUT=production' >> $PROFILE