Ruby 的安裝
我們可以使用多種工具安裝 Ruby。本章節(jié)主要介紹如何通過主流的包管理器和第三方工具管理和安裝 Ruby,以及如何通過源碼編譯安裝。
1. 包管理器
如果使用的是類 UNIX 操作系統(tǒng),而且只需要安裝一個版本的 Ruby,使用系統(tǒng)的包管理器是最簡單的安裝方式。
經(jīng)驗:在實際生產(chǎn)模式的時候,我們在一個服務(wù)器可能會有多個項目會依賴不同版本的 Ruby 版本,這個時候就需要我們在一個服務(wù)器中安裝多個版本的 Ruby,所以使用 Ruby 的管理工具是最好的選擇,例如:rbenv,管理工具中會詳細(xì)講到它。
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 穩(wěn)定版。
1.3 Homebrew(macOS)
許多 macOS 用戶使用 Homebrew 作為包管理器。它會安裝最新的Ruby。
$ brew install ruby
安裝成功后我們通過 ruby -v
來查看當(dāng)前 Ruby 的版本。
Ruby 在 Linux 系統(tǒng)下安裝過程:
2. 第三方安裝工具
如果系統(tǒng)或者包管理器提供的 Ruby 版本已經(jīng)過時,可以使用第三方安裝工具來安裝更新的版本。其中許多工具允許在同一個系統(tǒng)中安裝多個 Ruby 版本,相關(guān)的工具能幫你在不同的版本之間切換。如果打算用 RVM 作為版本管理工具,不需要其它的安裝工具,它自己就具有這些功能。
2.1 ruby-build
ruby-build 是 rbenv 的一個插件,能在任意目錄中編譯和安裝不同版本的 Ruby。ruby-build 也可以不依賴 rbenv 而單獨使用。支持的平臺有 macOS、Linux 和其它類 UNIX 操作系統(tǒng)
2.2 ruby-install
ruby-install 能在任意目錄中編譯和安裝不同版本的 Ruby。還有個兄弟工具,chruby,可以用來切換不同的 Ruby 版本。支持的平臺有 macOS、Linux 和其它類 UNIX 操作系統(tǒng)。
2.3 RubyInstaller
如果使用 Windows,有個不錯的項目能幫你安裝 Ruby:RubyInstaller。它能幫你在 Windows 中安裝所需的所有 Ruby 開發(fā)環(huán)境。
下載、運(yùn)行,即可!
Ruby 在 Windows 下安裝過程:
RailsInstaller 和 Ruby Stack對比
如果是為了使用 Ruby on Rails 而安裝 Ruby,可以使用下列安裝工具:
- RailsInstaller,使用的是 RubyInstaller,但包括了其它能夠幫助 Rails 開發(fā)的工具。支持 OS X 和 Windows。
- Bitnami Ruby Stack,提供了完整的 Rails 開發(fā)環(huán)境。支持 macOS、Linux、Windows、虛擬機(jī)和云鏡像。
3. 管理工具(推薦)
3.1 rbenv(推薦)
rbenv 用于管理系統(tǒng)中安裝的多個 Ruby 版本。它不能直接安裝 Ruby,但有個流行的插件叫 ruby-build 能夠安裝 Ruby。這兩個工具都支持 macOS、Linux 和其它類 UNIX 操作系統(tǒng)。
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
那應(yīng)該把上面的代碼放在~/.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已經(jīng)安裝好的Ruby版本
$ rbenv versions
查看 rbenv 當(dāng)前設(shè)置的 Ruby 版本
$ rbenv version
3.1.4 設(shè)置Ruby版本
全局設(shè)置 Ruby 版本為 2.6.5:
$ rbenv global 2.6.5
僅設(shè)置當(dāng)前目錄及子目錄的 Ruby 版本為 2.6.5
$ rbenv local 2.6.5
Tips:rbenv 可以通過創(chuàng)建
.ruby-version
文件來強(qiáng)制要求.ruby-version
所在目錄的Ruby版本,只要創(chuàng)建一個.ruby-version
文件然后在里面寫入Ruby的版本號即可,例如:2.6.5
如果 Ruby 版本設(shè)置成功,查看當(dāng)前 Ruby 的版本會變?yōu)?2.6.5:
$ ruby -v
ruby 2.6.5p114 (2019-10-01 revision 67812) [x86_64-linux]
3.2 rvm
RVM (Ruby Version Manager)能在系統(tǒng)中安裝和管理多個 Ruby 版本。同時還能管理不同的 gem 集。支持 macOS、Linux 和其它類 UNIX 操作系統(tǒng)。
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 設(shè)置成系統(tǒng)默認(rèn)版本
$ rvm use 2.6.5 --default
3.2.7 查看已經(jīng)安裝的 Ruby 版本
$ rvm list
3.2.8 卸載已安裝版本
$ rvm remove 2.6.5
如果 Ruby 安裝成功,我們同樣使用 ruby -v
的命令來檢查當(dāng)前的 Ruby 版本。
4. 源碼編譯安裝(不推薦)
通過源碼安裝 Ruby。下載最新的穩(wěn)定版,解壓,然后執(zhí)行:
$ ./configure
$ make
$ sudo make install
默認(rèn)情況下,Ruby 安裝到 /usr/local
目錄。如果想使用其他目錄,可以把 --prefix=DIR
選項傳給 ./configure
腳本。
因為無法使用任何工具來管理通過源碼編譯安裝的 Ruby,所以使用第三方工具或者包管理器是更好的選擇。
5. 小結(jié)
在這一章我們學(xué)習(xí)了 Ruby 在各種系統(tǒng)中的安裝方法,接下來讓我們通過簡單的例子來了解 Ruby 的語法。