使用apt-get install ruby,安装的默认版本为1.8.7。想要使用更高版本,只能采用手工升级的方式。

方式1 使用RVM(推荐方式)

1 安装RVM

http://rvm.io/rvm/install。注意,不要使用Ubuntu自带的rvm-ruby。如果已经使用apt-get install rvm-ruby安装过,先删除:

sudo apt-get --purge remove ruby-rvm
sudo rm -rf /usr/share/ruby-rvm /etc/rvmrc /etc/profile.d/rvm.sh

检查删除的结果

env | grep rvm

如果有输出内容的话,注销重新登录。

2 安装rvm

sudo \curl -L https://get.rvm.io | sudo bash -s stable
sudo source /etc/profile

3 使用rvm安装指定版本的ruby

rvm list known
rvm install 1.9.3
rvm use 1.9.3

方式2 源代码安装

1 下载源码文件

从http://www.ruby-lang.org/en/downloads/,寻找合适的版本。这里选用的是Ruby 1.9.3-p448,本文写作时的最新版本是Ruby 2.0.0-p247。

wget ftp://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-p448.tar.gz

解压

tar zxvf ./ruby-1.9.-p448.tar.gz

2 编译前设置

./configure --prefix=/usr\
--program-suffix=1.9.\
--with-ruby-version=1.9.\
--disable-install-doc

3 编译和安装

make
sudo apt-get install checkinstall
sudo checkinstall -D -y\
--fstrans=no\
--nodoc\
--pkgname='ruby1.9.3'\
--pkgversion='1.9.3-p448'\
--provides='ruby'\
--requires='libc6,libffi5,libgdbm3,libncurses5,libreadline5,openssl,libyaml-0-2,zlib1g'

4 修改系统默认的命令

update-alternatives --install /usr/bin/ruby ruby /usr/bin/ruby1.9.3 \
--slave /usr/bin/ri ri /usr/bin/ri1.9.3\
--slave /usr/bin/irb irb /usr/bin/irb1.9.3\
--slave /usr/bin/gem gem /usr/bin/gem1.9.3\
--slave /usr/bin/erb erb /usr/bin/erb1.9.3\
--slave /usr/bin/rdoc rdoc /usr/bin/rdoc1.9.3

如果提示:"update-alternatives: error: alternative gem can't be slave of ruby: it is a master alternative"

通常是由于之前已经安装了旧版本导致,可以尝试:

sudo update-alternatives --remove ri /usr/bin/ri1.

Ubuntu 11.10升级Ruby (1.8.7 --> 1.9.3或者其他任意版本)的更多相关文章

  1. 将Ubuntu 15.10升级到Ubuntu 16.04

    Ubuntu 16.04 LTS 代号为 Xenial Xerus,其最终版将于 2016 年 4 月 21 日正式发布,Ubuntu16.04 将是非常受欢迎的开源操作系统 Ubuntu 的第 6 ...

  2. ubuntu 11.10 安装apache2 tomcat6

    ubuntu 11.10 安装apache2 tomcat6 导读 Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目 ...

  3. 【转】ubuntu 11.10(32位系统)下编译android源码

    原文网址:http://www.cnblogs.com/dwayne/archive/2011/11/16/2251734.html 本文介绍在ubuntu 11.10系统下编译android 2.3 ...

  4. Ubuntu 11.10 安装GMONE3,卸载 UNITY和UNITY 2D

    Ubuntu 11.10安装GNOME3: 1)sudo apt-get install gnome-shell    sudo apt-get install gnome-themes*   (或者 ...

  5. 在Ubuntu 11.10工具栏上用数字显示网速、CPU负荷和内存占用量『译』

    基本上照抄了<How To Display Network Upload / Download Speed On The Panel In Ubuntu 11.04>,只不过我的实践环境是 ...

  6. Ubuntu 11.10 Server下搭建Maven私服

      安装Nexus服务的文档可以参考官方站点:http://www.sonatype.com/books/nexus-book/reference/install-sect-install.html ...

  7. Ubuntu 11.10下GRUB 2 1.99版编译安装笔记

    Ubuntu 11.10下GRUB 2 1.99版编译安装笔记 以下的安装笔记,都是QLi自己学习grub2 时,所整理的,还是新手,有错误的话,请大家帮忙就别提出来了. 最新版grub V1.99官 ...

  8. 显示 Ubuntu 11.10 的 终端窗口

    显示 Ubuntu 11.10 的 终端窗口 一.点击左上角的图标 -> 在search框里搜索termial . 二.快捷键:Ctrl+Alt+t.

  9. Ubuntu 11.10 H3C iNode 客户端安装

    下载客户端,放到桌面 双击打开,点击解压缩 Ctrl+Alt+T打开终端,依次输入以下代码并回车 代码: cd 桌面sudo cp iNodeClient /usr -Rcd /usr/iNodeCl ...

随机推荐

  1. JSON 与 String、Map、JavaBean互转

    JSON 与 String.Map.JavaBean互转 //解析远程登录用户信息 AttributePrincipal principal = AssertionHolder.getAssertio ...

  2. 理解Java中的接口

    一.为什么要使用接口 假如有一个需求:要求实现防盗门的功能.门有"开"和"关"的功能,锁有"上锁"和"开锁"的功能. 分 ...

  3. DLL注入之SetWindowsHookEx

    注:本文章转载自网络 函数功能:该函数将一个应用程序定义的挂钩处理过程安装到挂钩链中去,您可以通过安装挂钩处理过程来对系统的某些类型事件进行监控,这些事件与某个特定的线程或系统中的所有事件相关. 函数 ...

  4. Linux 4.6分支已到生命尽头 请尽快升级至Linux 4.7.1

    导读 在Linux Kernel 4.7首个维护版本发布的同时,Greg Kroah-Hartman同时也向社区发布了Linux Kernel 4.6.7版本.作为Linux 4.6分支的第7个维护版 ...

  5. Coursera台大机器学习技法课程笔记02-Dual Support Vector Machine

    这节课讲的是SVM的对偶问题,比较精彩的部分:为何要使用拉格朗日乘子以及如何进行对偶变换. 参考:http://www.cnblogs.com/bourneli/p/4199990.html http ...

  6. DICOM:DICOM3.0网络通信协议

    转载:http://blog.csdn.net/zssureqh/article/details/41016091 背景: 专栏取名为DICOM医学图像处理原因是:博主是从医学图像处理算法研究时开始接 ...

  7. Linux zabbix 配置注意事项

    发现php-fpm启动之后,找不到 php-fpm.pid文件??? vi php-fpm.conf 去掉里面那个 pid = run/php-fpm.pid 前面的分号然后再启动php-fpm才能自 ...

  8. 数学复习 ---- Mathematics Notes: A Programmer's Perspective ---- by Orzer ---- 我是沙茶

    今年是好没长进的一年呢..只学了些基本的方法.. 本文记号0] x:p x类型为p1] f(x) 表示一个函数2] (n_1,n_2,...) 表示多元组,特别的,(n)表示一个一元组3] x 表示一 ...

  9. The Perfect Stall (incomplete)

    恩,一看就知道是一道二分图最大匹配的题. 感动得发现自己不会做..果然我是太弱了.学校里真是麻烦死,根本没有时间好吗. (NOIP)会不会感动地滚粗啊? 然后稍微看看,恩,匈牙利算法. 真是感动得落泪 ...

  10. android获取手机信息大全

    IMEI号,IESI号,手机型号: private void getInfo() { TelephonyManager mTm = (TelephonyManager) getSystemServic ...