Ubuntu 11.10升级Ruby (1.8.7 --> 1.9.3或者其他任意版本)
使用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或者其他任意版本)的更多相关文章
- 将Ubuntu 15.10升级到Ubuntu 16.04
Ubuntu 16.04 LTS 代号为 Xenial Xerus,其最终版将于 2016 年 4 月 21 日正式发布,Ubuntu16.04 将是非常受欢迎的开源操作系统 Ubuntu 的第 6 ...
- ubuntu 11.10 安装apache2 tomcat6
ubuntu 11.10 安装apache2 tomcat6 导读 Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目 ...
- 【转】ubuntu 11.10(32位系统)下编译android源码
原文网址:http://www.cnblogs.com/dwayne/archive/2011/11/16/2251734.html 本文介绍在ubuntu 11.10系统下编译android 2.3 ...
- Ubuntu 11.10 安装GMONE3,卸载 UNITY和UNITY 2D
Ubuntu 11.10安装GNOME3: 1)sudo apt-get install gnome-shell sudo apt-get install gnome-themes* (或者 ...
- 在Ubuntu 11.10工具栏上用数字显示网速、CPU负荷和内存占用量『译』
基本上照抄了<How To Display Network Upload / Download Speed On The Panel In Ubuntu 11.04>,只不过我的实践环境是 ...
- Ubuntu 11.10 Server下搭建Maven私服
安装Nexus服务的文档可以参考官方站点:http://www.sonatype.com/books/nexus-book/reference/install-sect-install.html ...
- Ubuntu 11.10下GRUB 2 1.99版编译安装笔记
Ubuntu 11.10下GRUB 2 1.99版编译安装笔记 以下的安装笔记,都是QLi自己学习grub2 时,所整理的,还是新手,有错误的话,请大家帮忙就别提出来了. 最新版grub V1.99官 ...
- 显示 Ubuntu 11.10 的 终端窗口
显示 Ubuntu 11.10 的 终端窗口 一.点击左上角的图标 -> 在search框里搜索termial . 二.快捷键:Ctrl+Alt+t.
- Ubuntu 11.10 H3C iNode 客户端安装
下载客户端,放到桌面 双击打开,点击解压缩 Ctrl+Alt+T打开终端,依次输入以下代码并回车 代码: cd 桌面sudo cp iNodeClient /usr -Rcd /usr/iNodeCl ...
随机推荐
- 淘宝(阿里百川)手机客户端开发日记第六篇 Service详解(四)
DEMO1:在Activity里声明一个回调方法,当service完成任务后,调用这个回调方法. 首先,我们先继承service,来创建服务,代码如下: package com.example.ser ...
- Centos7上使用官方YUM源安装Mysql
1. 下载mysql的repo源 $ wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm 2. 安装mysql-co ...
- NGUI 学习笔记实战——制作商城UI界面
http://www.cnblogs.com/chongxin/p/3876575.html Unity3D的uGUI听说最近4.6即将推出,但是目前NGUI等UI插件大行其道并且已经非常成熟,所以我 ...
- git参考资料
个人博客 http://www.iwangzheng.com/ $git log --graph $git reset --hard 67889898... $ssh-add $git pull -- ...
- 一个很不错的适合PHPER们书单,推荐给大家【转】
来我博客的访客们中,有一些是PHP的初学者,是不是很迷茫PHP应该怎么学?应该买什么样的书?到处问人,到处求助?这下好了. 正好看到黑夜路人在博客上推荐了一个书单,看上去都非常不错,很多我也没有读过, ...
- spring3.0+Atomikos 构建jta的分布式事务 -- NO
摘自: http://gongjiayun.iteye.com/blog/1570111 spring3.0+Atomikos 构建jta的分布式事务 spring3.0已经不再支持jtom了,不过我 ...
- Remove Nth Node From End of List
Given a linked list, remove the nth node from the end of list and return its head. Notice The minimu ...
- eclipse workspace 共享配置文件
eclipse workspace 共享设置 配置文件记录了原来工程的使用习惯,如字体.编码格式等等,通过拷贝替换达到共享配置的目的. 总结一下,复制工作空间配置步骤如下: 1 使用eclipse新建 ...
- iOS 中constraint 不等于约束和低优先级约束使用的简单体会
看了些文章发现,在使用constraint时,不等于约束往往是和低优先级约束成对使用的,这样才能实现他们的效果. 看看例子 下面是在3.5存屏幕下的效果 图1,竖屏,在满足>=50的前提下,可以 ...
- iOS UITableView 的beginUpdates和endUpdates
在官方文档中是这样介绍beginUpdates的 Call this method if you want subsequent insertions, deletion, and selection ...