用rake编译Git Community Book
Tuesday, January 12th, 2010打算翻译Git Community Book这本社区版的Git书籍,刚开头组织翻译的工程就着实折腾了一番。
先是在github.com建了一个Repository来保存版本过程,然后将书的index和第一章的html下载下来加入到Repository,修改了里面的Link为绝对路径就准备开始动手翻译了。
在Open Party的活动中听了杜文山关于Sphinx的Session,觉得应该按照工程的方式来组织文档。回来后仔细的看了Git Community Book,找到作者是使用Ruby的rake来做,整个工程都托管再github.com的Gitbook Repository。于是把它的整个工程都搬到我的Repository中,从作者的版本开始工作。
作者的README文件中简单讲述了如何使用的rake命令生成html的文档。由于我没有任何Ruby环境的安装经验,所以从Ruby安装开始到编译成功还是折腾了几许时间。由于刚刚把T43安装了最新的Fedora 11(准备研究这个版本 CouchDB的编译安装),所以以下所有过程均是Fedora环境上测试通过的(所有的命令都是在root环境执行),其它的系统仅供参考。
先是安装Ruby和相关的几个包:
yum install ruby ruby-devel ruby-docs ruby-irb ruby-ri rubygems其中rubygems是Ruby的一个library管理工具,用起来感觉和apt、yum差不多;ruby-devel,gem在本地编译一些库时会用到Ruby的头文件和Library。
然后跟随作者README开始安装rake和其它几个Library:
gem install rake ultraviolet discount rdiscount builder这里正常安装的只有builder这个Library,其它的包在编译的时候报错:
Gem files will remain installed in /usr/lib/ruby/gems/1.8/gems/oniguruma-1.1.0 for inspection.
由于缺少oniguruma这个正则表达式的Library,安装失败了。需要用yum安装这个它:
yum install oniguruma oniguruma-devel重新执行gem的安装命令就可以了。需要注意的是你要先安装gcc相关的几个包,系统才有编译的能力。
到Repository目录下执行rake html就可以看到章节的输出,同时在output的目录里面能看到html输出的结果。