论坛首页 编程语言技术论坛

在Leopard下编译安装oniguruma ruby

浏览 2492 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2008-03-28  

Leopard系统已经集成安装了ruby 1.8.6和rails 1.2.3,但是没有安装oniguruma,oniguruma已经作为ruby的正则表达式库添加在ruby 1.9中。在ruby 1.8.6下使用oniguruma需要编译安装,Leopard无法通过gem来安装。下面介绍一下安装的方法:

onigurma和ruby的安装

安装需求

  1. Mac OSX 10.5 Leopard
  2. Xcode 3.0或更新

配置系统路径

编辑~/.bash_login,添加如下一行在末尾,确认配置生效。

export PATH="/usr/local/bin:/usr/local/sbin::$PATH"

安装

curl -O ftp://ftp.gnu.org/gnu/readline/readline-5.2.tar.gz
tar xzvf readline-5.2.tar.gz
cd readline-5.2
curl -O http://ftp.gnu.org/gnu/readline/readline-5.2-patches/readline52-012
patch -p0 < readline52-012
./configure --prefix=/usr/local
make
sudo make install
cd ..
curl -O ftp://ftp.ruby-lang.org/pub/ruby/1.8/ruby-1.8.6-p114.tar.gz
tar xzvf ruby-1.8.6-p114.tar.gz
cd ruby-1.8.6-p114
curl http://chopine.be/lrz/ruby-osx-patches/dot-darwin.diff | patch -p0
curl http://chopine.be/lrz/ruby-osx-patches/etc-irbrc.diff | patch -p0
curl http://chopine.be/lrz/ruby-osx-patches/ignore-gsetcontext.diff | patch -p0
curl http://chopine.be/lrz/ruby-osx-patches/md5_sha1_commoncrypto.diff | patch -p0
curl http://chopine.be/lrz/ruby-osx-patches/use-dyld.diff | patch -p0
curl http://chopine.be/lrz/ruby-osx-patches/use-setreugid.diff | patch -p0
curl http://chopine.be/lrz/ruby-osx-patches/words-bigendian-from-arch.diff | patch -p0
cd ..
curl -O http://www.geocities.jp/kosako3/oniguruma/archive/onigd2_5_9.tar.gz
tar xzvf onigd2_5_9.tar.gz
cd oniguruma
./configure --with-rubydir=../ruby-1.8.6-p114
make 186
cd ../ruby-1.8.6-p114
./configure --prefix=/usr/local --enable-pthread --with-readline-dir=/usr/local --enable-shared
make
sudo make install
sudo make install-doc
cd ..
执行完毕即将ruby和oniguruma安装完毕,可以执行 which ruby查看ruby是否安装正确。安装过程中只需注意打上补丁,否则编译出错。

gem的安装

curl -O http://files.rubyforge.mmmultiworks.com/rubygems/rubygems-0.9.2.tgz
tar xzvf rubygems-0.9.2.tgz
cd rubygems-0.9.2
sudo /usr/local/bin/ruby setup.rb
cd ..

总结

由于一些bug导致GNU的readline安装需要补丁才可以安装,安装ruby也是需要补丁,否则在Leopard编译出错。希望此文能够对在leopard编译安装ruby的朋友有些帮助,少走弯路。

 

论坛首页 编程语言技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics