linux下ruby安装【ubuntu10.10】

官方下载地址: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

此时可能出现的错误:

echo executable host ruby is required. use --with-baseruby option.;

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源码目录

su

#./configure -prefix=/usr/local/ruby-1.8

#make && make install

export PATH=/usr/local/ruby-1.8/bin:$PATH

此时使用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删除即可。

参考:

Ruby Error: echo executable host ruby is required

ruby-1.9.2-p0 fails to to build