服务端相关 / 02 Ruby 的安装

Ruby 的安装

我们可以使用多种工具安装 Ruby。本章节主要介绍如何通过主流的包管理器和第三方工具管理和安装 Ruby,以及如何通过源码编译安装。

1. 包管理器

如果使用的是类 UNIX 操作系统,而且只需要安装一个版本的 Ruby,使用系统的包管理器是最简单的安装方式。

经验:在实际生产模式的时候,我们在一个服务器可能会有多个项目会依赖不同版本的 Ruby 版本,这个时候就需要我们在一个服务器中安装多个版本的 Ruby,所以使用 Ruby 的管理工具是最好的选择,例如:rbenv,管理工具中会详细讲到它。

1.1 apt(Debian或Ubuntu)

Debian GNU/Linux 和 Ubuntu 使用 apt 包管理器。用法如下:

$ sudo apt-get install ruby-full

1.2 yum(CentOS、Fedora 或 RHEL)

CentOS、Fedora 和 RHEL 使用 yum 包管理器。用法如下:

$ sudo yum install ruby

这将安装最新的 Ruby 稳定版。

1.3 Homebrew(macOS)

许多 macOS 用户使用 Homebrew 作为包管理器。它会安装最新的Ruby。

$ brew install ruby

安装成功后我们通过 ruby -v 来查看当前 Ruby 的版本。

Ruby 在 Linux 系统下安装过程:

2. 第三方安装工具

如果系统或者包管理器提供的 Ruby 版本已经过时,可以使用第三方安装工具来安装更新的版本。其中许多工具允许在同一个系统中安装多个 Ruby 版本,相关的工具能帮你在不同的版本之间切换。如果打算用 RVM 作为版本管理工具,不需要其它的安装工具,它自己就具有这些功能。

2.1 ruby-build

ruby-buildrbenv 的一个插件,能在任意目录中编译和安装不同版本的 Ruby。ruby-build 也可以不依赖 rbenv 而单独使用。支持的平台有 macOS、Linux 和其它类 UNIX 操作系统

2.2 ruby-install

ruby-install 能在任意目录中编译和安装不同版本的 Ruby。还有个兄弟工具,chruby,可以用来切换不同的 Ruby 版本。支持的平台有 macOS、Linux 和其它类 UNIX 操作系统。

2.3 RubyInstaller

如果使用 Windows,有个不错的项目能帮你安装 Ruby:RubyInstaller。它能帮你在 Windows 中安装所需的所有 Ruby 开发环境。

下载、运行,即可!

Ruby 在 Windows 下安装过程:

RailsInstaller 和 Ruby Stack对比

如果是为了使用 Ruby on Rails 而安装 Ruby,可以使用下列安装工具:

  • RailsInstaller,使用的是 RubyInstaller,但包括了其它能够帮助 Rails 开发的工具。支持 OS X 和 Windows。
  • Bitnami Ruby Stack,提供了完整的 Rails 开发环境。支持 macOS、Linux、Windows、虚拟机和云镜像。

3. 管理工具(推荐)

3.1 rbenv(推荐)

rbenv 用于管理系统中安装的多个 Ruby 版本。它不能直接安装 Ruby,但有个流行的插件叫 ruby-build 能够安装 Ruby。这两个工具都支持 macOS、Linux 和其它类 UNIX 操作系统。

3.1.1 安装 rbenv

安装 rbenv 以及其插件步骤:

git clone git://github.com/sstephenson/rbenv.git ~/.rbenv
# 用来编译安装 ruby
git clone git://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build
# 通过 gem 命令安装完 gem 后无需手动输入 rbenv rehash 命令, 推荐
git clone git://github.com/sstephenson/rbenv-gem-rehash.git ~/.rbenv/plugins/rbenv-gem-rehash
# 通过 rbenv update 命令来更新 rbenv 以及所有插件, 推荐
git clone https://github.com/rkh/rbenv-update.git ~/.rbenv/plugins/rbenv-update

那应该把上面的代码放在~/.bashrc或者~/.bash_profile里面

export PATH="$HOME/.rbenv/bin:$PATH"
eval "$(rbenv init -)"

注意 :如果你使用的是zsh,然后把下面的代码放在~/.zshrc里面

最后,重启一下你的终端。

3.1.2 安装指定版本Ruby

列出所有可以安装的 Ruby 版本

$ rbenv install --list 

安装特定版本的ruby,例如:2.6.5

$ rbenv install 2.6.5 

3.1.3 查看安装Ruby版本

查看rbenv已经安装好的Ruby版本

$ rbenv versions

查看 rbenv 当前设置的 Ruby 版本

$ rbenv version

3.1.4 设置Ruby版本

全局设置 Ruby 版本为 2.6.5:

$ rbenv global 2.6.5

仅设置当前目录及子目录的 Ruby 版本为 2.6.5

$ rbenv local 2.6.5

Tips:rbenv 可以通过创建.ruby-version文件来强制要求.ruby-version所在目录的Ruby版本,只要创建一个.ruby-version文件然后在里面写入Ruby的版本号即可,例如:2.6.5

如果 Ruby 版本设置成功,查看当前 Ruby 的版本会变为 2.6.5:

$ ruby -v
ruby 2.6.5p114 (2019-10-01 revision 67812) [x86_64-linux]

3.2 rvm

RVM (Ruby Version Manager)能在系统中安装和管理多个 Ruby 版本。同时还能管理不同的 gem 集。支持 macOS、Linux 和其它类 UNIX 操作系统。

3.2.1 安装 rvm

$ gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3
$ curl -sSL https://get.rvm.io | bash -s stable
$ source ~/.rvm/scripts/rvm # 或者重新打开终端

3.2.2 切换到 Ruby China 的镜像

$ echo "ruby_url=https://cache.ruby-china.com/pub/ruby" > ~/.rvm/user/db

3.2.3 检查安装是否正确

$ rvm -v
rvm 1.29.10 (latest) by Michal Papis, Piotr Kuczynski, Wayne E. Seguin [https://rvm.io]

3.2.4 列出已知的 Ruby 版本

$ rvm list known

3.2.5 安装指定版本

$ rvm install 2.6.5 --disable-binary

3.2.6 设置成系统默认版本

$ rvm use 2.6.5 --default

3.2.7 查看已经安装的 Ruby 版本

$ rvm list

3.2.8 卸载已安装版本

$ rvm remove 2.6.5

如果 Ruby 安装成功,我们同样使用 ruby -v 的命令来检查当前的 Ruby 版本。

4. 源码编译安装(不推荐)

通过源码安装 Ruby。下载最新的稳定版,解压,然后执行:

$ ./configure
$ make
$ sudo make install

默认情况下,Ruby 安装到 /usr/local 目录。如果想使用其他目录,可以把 --prefix=DIR 选项传给 ./configure 脚本。

因为无法使用任何工具来管理通过源码编译安装的 Ruby,所以使用第三方工具或者包管理器是更好的选择。

5. 小结

在这一章我们学习了 Ruby 在各种系统中的安装方法,接下来让我们通过简单的例子来了解 Ruby 的语法。