text 12 Mar Switching ruby1.8 to ruby1.9 in MacOSX

Allora se usate MacOSX e avete installato XCode avrete anche Ruby 1.8. Ora vediamo come installare anche Ruby 1.9 e switchare tra le due versioni.

Per prima cosa usando Macports installiamo Ruby 1.9

sudo port install ruby19

Adesso possiamo questo semplice script in bash per switchare tra le due versioni

#!/usr/bin/env bash

rbv=$(ruby -v)
rv=${rbv:5:3}

function r18 () {
  ln -s /System/Library/Frameworks/Ruby.framework/Versions/Current/usr/bin/erb /usr/bin/erb
  ln -s /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/gem /usr/bin/gem
  ln -s /System/Library/Frameworks/Ruby.framework/Versions/Current/usr/bin/irb /usr/bin/irb
  ln -s /usr/bin/rake.1.8 /usr/bin/rake
  ln -s /System/Library/Frameworks/Ruby.framework/Versions/Current/usr/bin/rdoc /usr/bin/rdoc
  ln -s /System/Library/Frameworks/Ruby.framework/Versions/Current/usr/bin/ri /usr/bin/ri
  ln -s /System/Library/Frameworks/Ruby.framework/Versions/Current/usr/bin/ruby /usr/bin/ruby
  ln -s /System/Library/Frameworks/Ruby.framework/Versions/Current/usr/bin/testrb /usr/bin/testrb
}

function r19 () {
  ln -s /opt/local/bin/erb1.9 /usr/bin/erb
  ln -s /opt/local/bin/gem1.9 /usr/bin/gem
  ln -s /opt/local/bin/irb1.9 /usr/bin/irb
  ln -s /opt/local/bin/rake1.9 /usr/bin/rake
  ln -s /opt/local/bin/rdoc1.9 /usr/bin/rdoc
  ln -s /opt/local/bin/ri1.9 /usr/bin/ri
  ln -s /opt/local/bin/ruby1.9 /usr/bin/ruby
  ln -s /opt/local/bin/testrb1.9 /usr/bin/testrb
}

function cleanruby () {
  rm /usr/bin/erb
  rm /usr/bin/gem
  rm /usr/bin/irb
  rm /usr/bin/rake
  rm /usr/bin/rdoc
  rm /usr/bin/ri
  rm /usr/bin/ruby
  rm /usr/bin/testrb
}

if [ ${rv} = 1.8 ]; then
  echo "Current version is 1.8 swaping to 1.9"
  cleanruby
  r19
elif [ ${rv} = 1.9 ]; then
  echo "Current version is 1.9 swapping to 1.8"
  cleanruby
  r18
fi
exit

Ecco, ora per switchare tra le 2 versioni lanciamo quello script.
Ricordo che dovrete reinstallare tutte le gemme per Ruby 1.9.


blog comments powered by Disqus