centos6.6安装ruby2.4

centos6上安装高版本ruby

生产环境为centos6.6

$ cat /etc/redhat-release 
CentOS release 6.6 (Final)
$ uname  -r
2.6.32-504.30.3.el6.x86_64

当前系统ruby版本是1.8.7

$ ruby --version
ruby 1.8.7 (2013-06-27 patchlevel 374) [x86_64-linux]

ruby有自己的软件包管理器gem,就像python的pip,在当前环境使用gem会报错:

$ gem install innodb_ruby
-bash: gem: command not found

在这种情况下,我们需要在centos6上安装高版本的ruby。

第一步-CentOS SCLo库

添加CentOS SCLo软件集合存储库

$ yum -y install centos-release-scl-rh centos-release-scl

第二步-安装ruby2.4

添加SCLo存储库后,我们可以使用以下命令安装Ruby2.4

$ yum install rh-ruby24

随着版本的更新,这个命令可能也会改变,如果提示没有rh-ruby24软件包,可以尝试rh-ruby25,rh-ruby26

第三步-设置环境变量

在CentOS6上安装Ruby2.4之后,只需设置如下所述的环境变量

$ scl enable rh-ruby24 bash

$ ruby --version
ruby 2.4.6p354 (2019-04-01 revision 67394) [x86_64-linux-gnu]

现在就可以用gem安装ruby软件了:

$ gem install innodb_ruby
Fetching: bindata-1.8.3.gem (100%)
Successfully installed bindata-1.8.3
Fetching: digest-crc-0.4.1.gem (100%)
Successfully installed digest-crc-0.4.1
Fetching: innodb_ruby-0.9.16.gem (100%)
Successfully installed innodb_ruby-0.9.16
Parsing documentation for bindata-1.8.3
Installing ri documentation for bindata-1.8.3
Parsing documentation for digest-crc-0.4.1
Installing ri documentation for digest-crc-0.4.1
Parsing documentation for innodb_ruby-0.9.16
Installing ri documentation for innodb_ruby-0.9.16
Done installing documentation for bindata, digest-crc, innodb_ruby after 3 seconds
3 gems installed