前段时间Javaeye上更新了许多Robbin关于RoR实践的总结,很有深度,尤其关于RoR的响应限制问题,深得吾意。去年年中做的两个项目都是在Apache+mongrel环境下部署的,响应速度真的不让人乐观,Robbin的那篇
RoR部署深度分析真的是一语中的。今日立刻装起了Ubuntu,对Robbin推崇备至的lighttpd+fcgi模式进行尝试。不过手边只有N年前刻的一张7.04....随便拉,先搞起来再说吧!
装Ubuntu阿,不用说了吧,省略500字....装好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的系统。