Created
August 5, 2009 15:49
-
-
Save rodrigotassinari/162775 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# modificado a partir de http://github.com/relevance/etc/raw/26ae85c2f6c7d2640a3c75d619ad7ab8fc1cc570/bash/ruby_switcher.sh | |
# (ver http://blog.thinkrelevance.com/2009/7/29/ruby-switcher-working-with-multiple-ruby-versions-has-never-been-this-easy) | |
# | |
# modificado para usar o ruby nativo do ubuntu (9.04) como default | |
# permite alternar entre os rubys todos E o ruby nativo do ubuntu | |
# | |
# modificações (ao final do arquivo somente): | |
# * inclusão da função 'use_native_ruby' | |
# * comentário da linha que ativa o ruby nativo do leopard por padrão | |
# * inclusão de linha que ativa o ruby nativo do ubuntu por padrão | |
# | |
export ORIGINAL_PATH=$PATH | |
function use_leopard_ruby { | |
export MY_RUBY_HOME=/System/Library/Frameworks/Ruby.framework/Versions/Current/usr | |
export GEM_HOME=~/.gem/ruby/1.8 | |
update_path | |
} | |
function use_jruby { | |
export MY_RUBY_HOME=~/.ruby_versions/jruby-1.3.1 | |
export GEM_HOME=~/.gem/jruby/1.8 | |
alias ruby_ng="jruby --ng" | |
alias ruby_ng_server="jruby --ng-server" | |
update_path | |
} | |
function install_jruby { | |
mkdir -p ~/.ruby_versions && pushd ~/.ruby_versions && | |
curl -O -L --silent http://dist.codehaus.org/jruby/1.3.1/jruby-bin-1.3.1.zip && | |
rm -rf jruby-1.3.1 && | |
jar xf jruby-bin-1.3.1.zip && | |
ln -sf ~/.ruby_versions/jruby-1.3.1/bin/jruby ~/.ruby_versions/jruby-1.3.1/bin/ruby && | |
ln -sf ~/.ruby_versions/jruby-1.3.1/bin/jgem ~/.ruby_versions/jruby-1.3.1/bin/gem && | |
ln -sf ~/.ruby_versions/jruby-1.3.1/bin/jirb ~/.ruby_versions/jruby-1.3.1/bin/irb && | |
chmod +x ~/.ruby_versions/jruby-1.3.1/bin/{jruby,jgem,jirb,jrubyc} && | |
cd ~/.ruby_versions/jruby-1.3.1/tool/nailgun && make && | |
rm -rf ~/.ruby_versions/jruby-bin-1.3.1.zip && | |
use_jruby && install_jruby_openssl && install_rake && | |
popd | |
} | |
function use_jruby_120 { | |
export MY_RUBY_HOME=~/.ruby_versions/jruby-1.2.0 | |
export GEM_HOME=~/.gem/jruby/1.8 | |
update_path | |
} | |
function install_jruby_120 { | |
mkdir -p ~/.ruby_versions && pushd ~/.ruby_versions && | |
curl -O -L --silent http://dist.codehaus.org/jruby/1.2.0/jruby-bin-1.2.0.zip && | |
rm -rf jruby-1.2.0 && | |
jar xf jruby-bin-1.2.0.zip && | |
ln -sf ~/.ruby_versions/jruby-1.2.0/bin/jruby ~/.ruby_versions/jruby-1.2.0/bin/ruby && | |
ln -sf ~/.ruby_versions/jruby-1.2.0/bin/jgem ~/.ruby_versions/jruby-1.2.0/bin/gem && | |
ln -sf ~/.ruby_versions/jruby-1.2.0/bin/jirb ~/.ruby_versions/jruby-1.2.0/bin/irb && | |
chmod +x ~/.ruby_versions/jruby-1.2.0/bin/{jruby,jgem,jirb} && | |
rm -rf ~/.ruby_versions/jruby-bin-1.2.0.zip && | |
use_jruby_120 && install_jruby_openssl && install_rake && | |
popd | |
} | |
function use_ree_186 { | |
export MY_RUBY_HOME=~/.ruby_versions/ruby-enterprise-1.8.6-20090610 | |
export GEM_HOME=~/.gem/ruby/1.8 | |
update_path | |
} | |
function install_ree_186 { | |
mkdir -p ~/tmp && mkdir -p ~/.ruby_versions && | |
pushd ~/tmp | |
curl --silent -L -O http://rubyforge.org/frs/download.php/58677/ruby-enterprise-1.8.6-20090610.tar.gz && | |
tar xzf ruby-enterprise-1.8.6-20090610.tar.gz && | |
cd ruby-enterprise-1.8.6-20090610 && | |
./installer -a $HOME/.ruby_versions/ruby-enterprise-1.8.6-20090610 --dont-install-useful-gems && | |
cd ~/tmp && | |
rm -rf ~/tmp/ruby-enterprise-1.8.6-20090610 ruby-enterprise-1.8.6-20090610.tar.gz && | |
use_ree_186 && install_rake && | |
popd | |
} | |
function use_ruby_191 { | |
export MY_RUBY_HOME=~/.ruby_versions/ruby-1.9.1-p129 | |
export GEM_HOME=~/.gem/ruby/1.9 | |
update_path | |
} | |
function install_ruby_191 { | |
install_ruby_from_source "1.9" "1" "129" && | |
use_ruby_191 && install_rake && popd | |
} | |
function use_ruby_186 { | |
export MY_RUBY_HOME=~/.ruby_versions/ruby-1.8.6-p369 | |
export GEM_HOME=~/.gem/ruby/1.8 | |
update_path | |
} | |
function install_ruby_186 { | |
install_ruby_from_source "1.8" "6" "369" && | |
use_ruby_186 && install_rake && popd | |
} | |
function use_ruby_187 { | |
export MY_RUBY_HOME=~/.ruby_versions/ruby-1.8.7-p174 | |
export GEM_HOME=~/.gem/ruby/1.8 | |
update_path | |
} | |
function install_ruby_187 { | |
install_ruby_from_source "1.8" "7" "174" && | |
use_ruby_187 && install_rake && popd | |
} | |
function install_ruby_from_source { | |
local ruby_major=$1 | |
local ruby_minor=$2 | |
local patch_level=$3 | |
local ruby_version="ruby-$1.$2-p$patch_level" | |
local url="ftp://ftp.ruby-lang.org/pub/ruby/$ruby_major/$ruby_version.tar.gz" | |
mkdir -p ~/tmp && mkdir -p ~/.ruby_versions && rm -rf ~/.ruby_versions/$ruby_version && | |
pushd ~/tmp && | |
curl --silent -L -O $url && | |
tar xzf $ruby_version.tar.gz && | |
cd $ruby_version && | |
./configure --prefix=$HOME/.ruby_versions/$ruby_version --enable-shared && | |
make && make install && cd ~/tmp && | |
rm -rf $ruby_version.tar.gz $ruby_version | |
} | |
function install_rake { | |
gem install -q --no-ri --no-rdoc rake | |
} | |
function install_jruby_openssl { | |
gem install -q --no-ri --no-rdoc jruby-openssl | |
} | |
function update_path { | |
export PATH=$GEM_HOME/bin:$MY_RUBY_HOME/bin:$ORIGINAL_PATH | |
export RUBY_VERSION="$(ruby -v | colrm 11)" | |
display_ruby_version | |
} | |
function display_ruby_version { | |
if [[ $SHELL =~ "bash" ]]; then | |
echo "Using `ruby -v`" | |
fi | |
# On ZSH, show it on the right PS1 | |
export RPS1=$RUBY_VERSION | |
} | |
## CHANGES | |
function use_native_ruby { | |
export GEM_HOME=/usr/lib/ruby/gems/1.8 | |
export PATH=$ORIGINAL_PATH | |
export RUBY_VERSION="$(ruby -v | colrm 11) (native)" | |
display_ruby_version | |
} | |
#use_leopard_ruby | |
use_native_ruby |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment