CentOS 6.3下编译安装Ruby 2.0笔记

 更新时间:2014年09月10日 15:17:42   投稿:junjie  
这篇文章主要介绍了CentOS 6.3下编译安装Ruby 2.0笔记,最重要的是解决了一个编译时的错误,需要的朋友可以参考下

LINUX操作系统: CentOS6.3 64bit
Ruby: ruby-2.0.0-p247

一.安装开发包(使用默认CENTOS更新源)

复制代码 代码如下:

# yum install openssl* openssl-devel zlib-devel gcc gcc-c++ make autoconf readline-devel curl-devel expat-devel gettext-devel

二.关闭iptables和SELINUX

复制代码 代码如下:

# service iptables stop
# setenforce 0
# vi /etc/sysconfig/selinux
---------------
SELINUX=disabled
---------------

三.安装Ruby

复制代码 代码如下:

# wget http://ftp.ruby-lang.org/pub/ruby/2.0/ruby-2.0.0-p247.tar.gz
# tar zxvf ruby-2.0.0-p247.tar.gz
# cd ruby-2.0.0-p247
# ./configure --enable-shared --enable-pthread --prefix=/usr/local/ruby
# make && make install

编译时报错
复制代码 代码如下:

ossl_pkey_ec.c:815: error: ‘EC_GROUP_new_curve_GF2m' undeclared (first use in this function)

google后找到官方的一个解决补丁,也就是替换两个ssl库文件,以下为该补丁文件打包下载地址

本地下载
详见:https://bugs.ruby-lang.org/projects/ruby-trunk/repository/revisions/41808
解决方法:

复制代码 代码如下:

# cd ruby-2.0.0-p247
# wget --no-check-certificate https://bugs.ruby-lang.org/projects/ruby-trunk/repository/revisions/41808/raw/ext/openssl/ossl_pkey_ec.c
# wget --no-check-certificate https://bugs.ruby-lang.org/projects/ruby-trunk/repository/revisions/41808/raw/test/openssl/test_pkey_ec.rb
# mv ext/openssl/ossl_pkey_ec.c  ext/openssl/ossl_pkey_ec.c.bak
# cp ossl_pkey_ec.c ext/openssl/
# mv test/openssl/test_pkey_ec.rb test/openssl/test_pkey_ec.rb.bak
# cp test_pkey_ec.rb  test/openssl/

重新编译:
复制代码 代码如下:

# make && make install

四.将ruby命令集加入系统环境变量

复制代码 代码如下:

# echo "PATH=$PATH:/usr/local/ruby/bin;export PATH" >> /etc/profile
# source /etc/profile

五.检查ruby版本

复制代码 代码如下:

# ruby -v
——————————————————————————
ruby 2.0.0p247 (2013-06-27 revision 41674) [x86_64-linux]
——————————————————————————
# gem --version
——————————————————————————
2.0.3
——————————————————————————
# irb
——————————————————————————
irb(main):001:0> 3+5
=> 8
irb(main):002:0> puts "hello world!"
hello world!

大功告成 O(∩_∩)O~

相关文章

  • Ruby 面向对象知识总结

    Ruby 面向对象知识总结

    这篇文章主要介绍了Ruby 面向对象的的相关资料,文中讲解非常详细,实例代码帮助大家更好的理解和学习,感兴趣的朋友可以了解下
    2020-06-06
  • Ruby程序中正则表达式的基本使用教程

    Ruby程序中正则表达式的基本使用教程

    和Python与Perl一样,Ruby对正则表达式的支持也是相当好的,这里送出整理的Ruby程序中正则表达式的基本使用教程,需要的朋友可以参考下
    2016-05-05
  • Ruby里4种比较函数(equal?, eql?, ==, ===)详解

    Ruby里4种比较函数(equal?, eql?, ==, ===)详解

    本文给大家详细介绍了Ruby中的4种比较函数(equal?, eql?, ==, ===)的用法,并用具体示例进行了讲解,希望对大家学习ruby能够有所帮助。
    2016-02-02
  • ruby环境中自动编译sass教程

    ruby环境中自动编译sass教程

    这篇文章主要介绍了ruby环境中自动编译sass教程,本文讲解了ruby环境的安装、sass环境的安装以及sass的常用编译命令使用示例,需要的朋友可以参考下
    2015-02-02
  • Ruby的面向对象方式编程学习杂记

    Ruby的面向对象方式编程学习杂记

    Ruby是具有面向对象特性的编程语言,这里整理了一些Ruby的面向对象方式编程学习杂记,包括类与方法等基本的面向对象要素的知识,需要的朋友可以参考下
    2016-05-05
  • Ruby面向对象编程中类与方法的基础学习

    Ruby面向对象编程中类与方法的基础学习

    方法可以理解为类中的函数,一定程度上可以受到类作用域的制约,其他地方和传统意义上的函数无太大区别,这里我们就一起来进行Ruby面向对象编程中类与方法的基础学习
    2016-05-05
  • 简单谈谈Ruby的private和protected

    简单谈谈Ruby的private和protected

    Ruby类下对访问控制的限制也是用public,protected和private来做的。虽然用的是和C++和Java相同的名字,但是Ruby下的protected和private定义还是有所不同的。
    2016-02-02
  • 详解Ruby中的代码块对象Proc

    详解Ruby中的代码块对象Proc

    在Ruby中一个代码块block不是对象,但可以用Proc来替代其作为对象进行操作,接下来我们就来详解Ruby中的代码块对象Proc
    2016-05-05
  • 详解Ruby中的循环语句的用法

    详解Ruby中的循环语句的用法

    这篇文章主要介绍了详解Ruby中的循环语句的用法,Ruby中的循环语句与其他编程语言的相比之下显得有所不同,需要的朋友可以参考下
    2015-04-04
  • ruby 正则表达式详解及示例代码

    ruby 正则表达式详解及示例代码

    这篇文章主要介绍了ruby 正则表达式详解及示例代码的相关资料,需要的朋友可以参考下
    2016-10-10

最新评论