官方下載地址:http://www.ruby-lang.org/en/downloads/
我選擇了stable 版本,下載地址:http://ftp.ruby-lang.org/pub/ruby/ruby-1.9-stable.tar.gz
按照README中的說明
如果之前未安裝舊版本ruby ,編譯安裝可能會出現問題,建議先sudo apt-get install ruby,這里默認會安裝1.8版本的ruby。
解壓縮下載的ruby-1.9-stable.tar.gz安裝包,進入目錄。
su
#./configure -prefix=/usr/local/ruby-1.9
#make
#make install
此時可能出現的錯誤:
false ./tool/generic_erb.rb -c -o known_errors.inc
./template/known_errors.inc.tmpl ./defs/known_errors.def
executable host ruby is required. use --with-baseruby option.
make: *** [known_errors.inc] Error 1
出現此問題的原因在於1.9版本的ruby編譯需要系統默認安裝舊版本的ruby,而ubuntu中默認沒有安裝。
解決方法:
1.sudo apt-get install ruby
默認ubuntu10.10會自行安裝ruby 1.8,之后再編譯1.9就沒問題了。(不過此時系統中1.8/1.9同時存在,有潔癖的我,推薦下面源碼編譯安裝1.8)
2.下載1.8.7版本源碼編譯安裝(更多版本請自行去ftp下載),並設置臨時環境變量
進入1.8源碼目錄
#./configure -prefix=/usr/local/ruby-1.8
#make && make install
此時使用ruby -v驗證版本為1.8
在剛才安裝配置ruby1.8的終端中繼續重新進行1.9的編譯安裝,進入1.9源碼目錄:
tar vfxz ruby-1.9.1-p0.tar.gz
#進入解壓后的文件夾
cd ruby-1.9.1-p0/
#編譯源碼,在編譯之前,應該先對/usr/local/ruby-1.9.1文件夾設置權限.
./configure --prefix=/usr/local/ruby-1.9.1
#大名鼎鼎的 make 和 install
make && make install
#設置PATH路徑,把自己安裝的ruby放在系統PATH前面,避免調用操作系統自帶的ruby
export PATH=/usr/local/ruby-1.9.1/bin:$ PATH
#我在 ~/.profile 文件中增加了這樣的代碼:
if [ -d "/usr/local/ruby-1.9.1/bin" ] ; then
PATH="/usr/local/ruby-1.9.1/bin:$PATH"
fi
然后 注銷 再登陸一次.
#如無意外
ruby -v
#ruby 1.9.1p0 (2009-01-30 revision 21907) [i686-linux]
#ruby 1.9.1安裝成功了.
注意:之前安裝了1.8版本ruby,可以直接通過rm -rf /usr/local/ruby-1.8刪除即可。
參考: