1、apt-get安装

可以使用apt-cache查询功能,找到对应的可用的ruby版本。

$ sudo apt-cache search ruby
#这个结果很长,我只截取最后与ruby有关的部分
ruby1. - Interpreter of object-oriented scripting language Ruby 1.8
ruby1.-dev - Header files for compiling extension modules for the Ruby 1.8
ruby1.-examples - Examples for Ruby 1.8
rubygems - package management framework for Ruby libraries/applications
rubygems1. - Transitional package for rubygems
rubygems-doc - Transitional package for rubygems
ruby1.9.1-full - Ruby 1.9. full installation
ruby1.-full - Ruby 1.8 full installation
ruby-switch - switch between different Ruby interpreters
ruby2. - Interpreter of object-oriented scripting language Ruby
libruby2. - Libraries necessary to run Ruby 2.1
ruby2.-dev - Header files for compiling extension modules for the Ruby 2.1
ruby2.-tcltk - Ruby/Tk for Ruby 2.1
ruby2.-doc - Documentation for Ruby 2.1
ruby2. - Interpreter of object-oriented scripting language Ruby
libruby2. - Libraries necessary to run Ruby 2.2
ruby2.-dev - Header files for compiling extension modules for the Ruby 2.2
ruby2.-tcltk - Ruby/Tk for Ruby 2.2
ruby2.-doc - Documentation for Ruby 2.2
ruby2. - Interpreter of object-oriented scripting language Ruby
ruby2.-doc - Documentation for Ruby 2.3
libruby2. - Libraries necessary to run Ruby 2.3
ruby2.-dev - Header files for compiling extension modules for the Ruby 2.3
ruby2.-tcltk - Ruby/Tk for Ruby 2.3
libruby2. - Libraries necessary to run Ruby 2.4
ruby2.-dev - Header files for compiling extension modules for the Ruby 2.4
ruby2. - Interpreter of object-oriented scripting language Ruby
ruby2.-doc - Documentation for Ruby 2.4

可以看到官方目前支持较多版本,

安装样例

sudo apt-get install ruby #自动安装最新版本
sudo apt-get install ruby2.0

无法指定子版本,只能用repo已有的版本。

2、使用brightbox ppa仓库安装

这是一个repo方案,已经更新到2.4版本,参考:https://www.brightbox.com/docs/ruby/ubuntu/

If you’re using Ubuntu 14.04 (Trusty) or newer then you can add the package repository like this

$ sudo apt-get install software-properties-common
$ sudo apt-add-repository ppa:brightbox/ruby-ng
$ sudo apt-get update
$ sudo apt-get install ruby1.9.3 ruby1.9.3-dev

无法指定子版本,只能用repo已有的版本。

3、利用rvm安装

$ curl -L get.rvm.io | bash -s stable
$ source ~/.bashrc
$ source ~/.bash_profile
$ source ~/.profile
$ rvm -v
$ rvm list known
$ rvm install 2.2
$ ruby -v
ruby 2.2.6p396 (-- revision ) [x86_64-linux] 如果想在Ubuntu上安装多个Ruby版本,那么可以使用下面的命令来指定使用rvm作为默认的Ruby版本管理。
rvm use ruby 1.9. --default
rvm use ruby 1.9.3-p551 --default #制定子版本

可以指定子版本,比如 rvm install 1.9.3-p551

附rvm list known结果参考。

$ rvm list known
Warning, new version of rvm available '1.29.2', you are using older version '1.29.1'.
You can disable this warning with: echo rvm_autoupdate_flag= >> ~/.rvmrc
You can enable auto-update with: echo rvm_autoupdate_flag= >> ~/.rvmrc
# MRI Rubies
[ruby-]1.8.[-p420]
[ruby-]1.8.[-head] # security released on head
[ruby-]1.9.[-p431]
[ruby-]1.9.[-p330]
[ruby-]1.9.[-p551]
[ruby-]2.0.[-p648]
[ruby-]2.1[.]
[ruby-]2.2[.]
[ruby-]2.3[.]
[ruby-]2.4[.]
ruby-head # for forks use: rvm install ruby-head-<name> --url https://github.com/github/ruby.git --branch 2.2 # JRuby
jruby-1.6[.]
jruby-1.7[.]
jruby[-9.1.7.0]
jruby-head # Rubinius
rbx-[.4.3]
rbx-2.3[.]
rbx-2.4[.]
rbx-[.5.8]
rbx[-3.71]
rbx-head # Opal
opal # Minimalistic ruby implementation - ISO :
mruby-1.0.
mruby-1.1.
mruby-[.2.0]
mruby[-head] # Ruby Enterprise Edition
ree-1.8.
ree[-1.8.][-2012.02] # Topaz
topaz # MagLev
maglev[-head]
maglev-1.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.]
ironruby-head

结果参考

4、编译安装

参考前一笔记:ubuntu编译安装ruby1.9.3,从p551降级到p484

Best Wishes!Any question pls fell free to contact me!

ubuntu安装ruby的几种方法总结的更多相关文章

  1. ubuntu安装jdk的两种方法

    方法一: 这种方法比较简单,保证虚拟机网络畅通就可以了 sudo apt-get update sudo apt-get install default-jre sudo apt-get instal ...

  2. Ubuntu下安装程序的三种方法(转)

    引言 在Ubuntu当中,安装应用程序我所知道的有三种方法,分别是apt-get,dpkg安装deb和make install安装源码包三种.下面针对每一种方法各举例来说明. 一.apt-get方法 ...

  3. linux安装软件的几种方法----linux下编译安装软件的一般步骤

    linux安装软件的几种方法: 一.rpm包安装方式步骤: 1.找到相应的软件包,比如soft.version.rpm,下载到本机某个目录: 2.打开一个终端,su -成root用户: 3.cd so ...

  4. MyEclipse安装插件的几种方法 转

    http://www.cnblogs.com/pharen/archive/2012/02/08/2343342.html MyEclipse安装插件的几种方法 本文讲解MyEclipse(MyEcl ...

  5. Fedora安装qt总结四种方法

    在fedora上安装qt有四种方法,本人由于初次接触fedora,所以还是耐心的把三个方法都测试了一遍. 1.  下载源码,手动编译,选择路径安装,请参考<fedora15下搭建QT开发环境及编 ...

  6. Ubuntu 安装 JDK8 的两种方式

    ubuntu 安装jdk 的两种方式: 1:通过ppa(源) 方式安装. 2:通过官网下载安装包安装. 这里推荐第1种,因为可以通过 apt-get upgrade 方式方便获得jdk的升级 使用pp ...

  7. 7.1 安装软件包的三种方法 7.2 rpm包介绍 7.3 rpm工具用法 7.4 yum工具用法 7.5 yum搭建本地仓库

    7.1 安装软件包的三种方法 7.2 rpm包介绍 7.3 rpm工具用法 7.4 yum工具用法 7.5 yum搭建本地仓库 三种方法 rpm工具----->类型windows下的exe程序 ...

  8. 在CentOS7.4中安装jdk的几种方法及配置环境变量

    在CentOS7.4中安装jdk的几种方法及配置环境变量 一.下载jdk jdk下载地址:http://www.oracle.com/technetwork/java/javase/downloads ...

  9. 安装软件包的三种方法、RPM包介绍、rpm、yum工具用法、yum搭建本地仓库

    第5周第3次课(4月18日) 课程内容: 7.1 安装软件包的三种方法7.2 rpm包介绍7.3 rpm工具用法7.4 yum工具用法7.5 yum搭建本地仓库 7.1 安装软件包的三种方法 rpm工 ...

随机推荐

  1. php Amome框架 层次设计备注

    层次说明: 每一级中函数都是为而且只为  上(高)一层  的文件服务的 最底层: AmemoMySql   基础数据库函数:AmemoConfig  数据库信息配置文件  再高一层: 一个文件对应一个 ...

  2. new命令简化的内部流程

    构造函数返回对象的一些问题: function fn(name,age){ this.name = name; this.age = age; //return 23; 忽略数字,直接返回原有对象 / ...

  3. RestTemplate将响应数据转换为具有泛型的类对象

    前言: 重要,RestTemplate在SpringBoot项目里即便通过HttpMessageConverters添加了Fastjson且优先级比jackson要高也不会在RestTemplate里 ...

  4. php常量 const 和 define

    常量是一个简单的标识符.在脚本执行期间该值不能改变(除了所谓的魔术常量,他们其实不是常量).常量默认大小写敏感.通常常量标识符总是大写的. 可以用define()函数来定义常量.在php5.3.0以后 ...

  5. 学以致用七---Centos7.2+python3.6.2+django2.1.1 --搭建一个网站(补充)

    补充:上一节出现的报错提示 可在settings.py 里,改成 ‘*’  ,这样所有的主机都可以访问了. 打开网页 注意红色框出来的 hello 是和 urls.py里的hello对应 urls.p ...

  6. mysql 入门 jdbc

    在java程序中连接mysql,先要到mysql的网站上面去下载驱动,并且安装,默认安装在c盘(我的都是默认安装,目录为C:\Program Files\MySQL\MySQL Connector J ...

  7. referraluserid推广ID号跟踪JS处理A标签

    网站推广ID号跟踪 xxx.html?referraluserid=123 referraluserid.js JS源文件 referraluserid的参数会自动绑定页面A标签 有时是Post 表单 ...

  8. js获取浏览器类型进行判断

    本文为webuploader.js中学习心得,感谢开源,从中加入了ie的edge判断 /** * @description 简单的浏览器检查结果. * * * `webkit` webkit版本号,如 ...

  9. C++的重载流输出运算符

    // 下列代码输出什么?#include <iostream>#include <string>// typedef basic_ostream<char> ost ...

  10. 2.1.4synchronized方法与锁对象

    为了证明线程锁的是对象 测试 package com.cky.bean; /** * Created by chenkaiyang on 2017/12/4. */ public class MyOb ...