Ruby学习笔记之升级ruby的版本

时间:2022-02-13 00:31:14

升级ruby版本,有时候安装ruby的版本过低,需要进行升级,例如安装在centos6.7安装fpm需要ruby版本在1.9以上。

0x00 主机环境如下

[root@test ~]# cat /etc/redhat-release 
CentOS release 6.7 (Final)
[root@test ~]# uname -r
2.6.32-573.el6.x86_64

0x01 使用yum安装ruby

[root@web ~]# yum install rubygems ruby-devel 

0x02 查看ruby的版本

[root@web ~]# ruby -v
ruby 1.8.7 (2013-06-27 patchlevel 374) [x86_64-linux]

0x03 升级ruby1.9.3版本

1)删除原来的rubygems仓库

[root@web ~]# gem sources --remove http://rubygems.org/

2)添加aliyun的rubygems仓库

[root@web ~]# gem sources -a http://mirrors.aliyun.com/rubygems/

3)查看rubygems仓库

[root@web ~]# gem sources -l
*** CURRENT SOURCES *** http://mirrors.aliyun.com/rubygems/

4)使用RVM进行升级ruby

a:在rvm官方网址:https://rvm.io/执行如下命令:

[root@web ~]#  gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB
gpg: requesting key D39DC0E3 from hkp server keys.gnupg.net
gpg: requesting key 39499BDB from hkp server keys.gnupg.net
gpg: key D39DC0E3: "Michal Papis (RVM signing) <mpapis@gmail.com>" not changed
gpg: key 39499BDB: public key "Piotr Kuczynski <piotr.kuczynski@gmail.com>" imported
gpg: no ultimately trusted keys found
gpg: Total number processed: 2
gpg: imported: 1 (RSA: 1)
gpg: unchanged: 1

b:接着执行如下命令:

[root@web ~]# \curl -sSL https://get.rvm.io | bash -s stable
Downloading https://github.com/rvm/rvm/archive/1.29.3.tar.gz
curl: (35) SSL connect error Could not download 'https://github.com/rvm/rvm/archive/1.29.3.tar.gz'.
curl returned status '35'. Downloading https://bitbucket.org/mpapis/rvm/get/1.29.3.tar.gz
Downloading https://bitbucket.org/mpapis/rvm/downloads/1.29.3.tar.gz.asc
curl: (7) couldn't connect to host Could not download 'https://bitbucket.org/mpapis/rvm/downloads/1.29.3.tar.gz.asc'.
curl returned status '7'. Creating group 'rvm' Installing RVM to /usr/local/rvm/
Installation of RVM in /usr/local/rvm/ is almost complete: * First you need to add all users that will be using rvm to 'rvm' group,
and logout - login again, anyone using rvm will be operating with `umask u=rwx,g=rwx,o=rx`. * To start using RVM you need to run `source /etc/profile.d/rvm.sh`
in all your open shell windows, in rare cases you need to reopen all shell windows.

c:执行上述命令 * To start using RVM you need to run `source /etc/profile.d/rvm.sh`

[root@web ~]# source /etc/profile.d/rvm.sh

0x04 查看RVM可安装的ruby的版本

[root@web ~]# rvm list known
# MRI Rubies
[ruby-]1.8.6[-p420]
[ruby-]1.8.7[-head] # security released on head
[ruby-]1.9.1[-p431]
[ruby-]1.9.2[-p330]
[ruby-]1.9.3[-p551]
[ruby-]2.0.0[-p648]
[ruby-]2.1[.10]
[ruby-]2.2[.7]
[ruby-]2.3[.4]
[ruby-]2.4[.1]
ruby-head # for forks use: rvm install ruby-head-<name> --url https://github.com/github/ruby.git --branch 2.2 # JRuby
jruby-1.6[.8]
jruby-1.7[.27]
jruby[-9.1.13.0]
jruby-head # Rubinius
rbx-1[.4.3]
rbx-2.3[.0]
rbx-2.4[.1]
rbx-2[.5.8]
rbx-3[.84]
rbx-head # Opal
opal # Minimalistic ruby implementation - ISO 30170:2012
mruby-1.0.0
mruby-1.1.0
mruby-1.2.0
mruby-1[.3.0]
mruby[-head] # Ruby Enterprise Edition
ree-1.8.6
ree[-1.8.7][-2012.02] # Topaz
topaz # MagLev
maglev[-head]
maglev-1.0.0 # Mac OS X Snow Leopard Or Newer
macruby-0.10
macruby-0.11
macruby[-0.12]
macruby-nightly
macruby-head # IronRuby
ironruby[-1.1.3]
ironruby-head

0x05 安装ruby-2.2版本

[root@web ~]# rvm install 2.2
Searching for binary rubies, this might take some time.
Found remote file https://rvm_io.global.ssl.fastly.net/binaries/centos/6/x86_64/ruby-1.9.3-p551.tar.bz2
Checking requirements for centos.
Installing requirements for centos.
Installing required packages: libffi-devel, readline-devel, sqlite-devel, zlib-devel, libyaml-devel, openssl-devel...........|
Requirements installation successful.
ruby-1.9.3-p551 - #configure
ruby-1.9.3-p551 - #download
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 10.2M 100 10.2M 0 0 188k 0 0:00:55 0:00:55 --:--:-- 223k
ruby-1.9.3-p551 - #validate archive
ruby-1.9.3-p551 - #extract
ruby-1.9.3-p551 - #validate binary
ruby-1.9.3-p551 - #setup
ruby-1.9.3-p551 - #gemset created /usr/local/rvm/gems/ruby-1.9.3-p551@global
ruby-1.9.3-p551 - #importing gemset /usr/local/rvm/gemsets/global.gems...................................
ruby-1.9.3-p551 - #generating global wrappers........
ruby-1.9.3-p551 - #gemset created /usr/local/rvm/gems/ruby-1.9.3-p551
ruby-1.9.3-p551 - #importing gemsetfile /usr/local/rvm/gemsets/default.gems evaluated to empty gem list
ruby-1.9.3-p551 - #generating default wrappers........

0x06 查看ruby是否升级成功

[root@web ~]# ruby -v
ruby 2.2.7p551 (2014-11-13 revision 48407) [x86_64-linux]

至此,ruby版本升级成功