前段時間Javaeye上更新了許多Robbin關於RoR實踐的總結,很有深度,尤其關於RoR的響應限制問題,深得吾意。去年年中做的兩個項目都是在Apache+mongrel環境下部署的,響應速度真的不讓人樂觀,Robbin的那篇RoR部署深度分析真的是一語中的。今日立刻裝起了Ubuntu7.10,對Robbin推崇備至的lighttpd+fcgi模式進行嘗試。不過手邊只有N年前刻的一張7.04....隨便拉,先搞起來再說吧!
裝Ubuntu7.10阿,就不再說了吧,裝好Ubuntu一看,189個更新,汗一下,都更新了吧.....等,等。
接著裝gcc,sudo apt-get install libc6-dev.....
下載Ruby 1.8.6的源碼,本想下1.9.0,不過據說1.9.0沒有對舊版本進行兼容,還是1.8.6用著吧,編譯....狂等....
裝rubygems,下了最新的1.0.1,到最後說需要library stubs.....一大堆英文,又說要又說不要,搞不明白,執行gem,說沒裝,gem install,又提示,直接apt-get install rubygems.....0.9.0版本,噴血。執行一下gem,提示一下錯誤:
/usr/bin/gem:23: uninitialized constant Gem::GemRunner(NameError)
不懂,google了一下,發現一篇文章,如下介紹:
I tried upgrading my version of rubygems to the most current version by running
sudo gem update --system
Which introduced this error:
/usr/bin/gem:23: uninitialized constant Gem::GemRunner(NameError)
whenever I tried to run rubygems. On the rails forum, I found a fix for it!
Simply add the line to the file /usr/bin/gem (may be different on a mac)
require 'rubygems/gem_runner'
after
require 'rubygems'
This fixed the issue in both Ubuntu and OS 10.4.
大意就是打開/usr/bin/gem文件,在require 'rubygems'前加require 'rubygems/gem_runner',用root帳號執行,是沒問題了,轉回desktop帳號,傻眼了,又說出錯了,不包含gem_runner文件.....好辦,以後執行gem都用sudo gem....
緊張時刻到了,gem install rails.........苦等半天,rubyforge沒反應。想起Javaeye以前有個帖子介紹,直接加-source 可以裝,翻了翻javaeye,找到了:gem install rails --include-dependencies --source http://gems.rubyonrails.org,哈,也快,一忽兒就說已經裝好了,rails -v,看到2.0.2,sudo gem list,看到:
*** LOCAL GEMS ***
actionmailer (2.0.2)
actionpack (2.0.2)
activerecord (2.0.2)
activeresource (2.0.2)
activesupport (2.0.2)
rails (2.0.2)
rake (0.8.1)
哈哈,恭喜恭喜,安裝成功了!好了,RoR的安裝就到此為止了,時間晚了,fcgi和lighttpd明天再搞吧,現在現把Apatana stido 1.1和netbeans裝上吧。
後記:
現在本本一直在跑一個windows 2003,垃圾啊,其實考慮了很久,是不是換Linux系統,朋友Skyweo提供意見,是不是有什麼操作離不開win,其實沒什麼,就是游戲咯,不過這玩意,好像N+N久沒碰了。還想弱弱的問句:Linux有類似Photoshop的位圖操作軟件嗎?有的請推薦一個。
這次再裝Ubuntu,有過前幾次的碰壁經驗,感覺很順利,而且很多東西都集成了,一直考慮用C做點Ruby的擴展,呼呼,Ruby在某些方面還是弱了點,估計不久的將來,會將本本換成Linux的系統。