如何在 Linux 中安装 Ruby On Rails

本分步指南为您简要介绍 Ruby on Rails 然后引导您完成在 Linux 操作系统中安装 Ruby on Rails 的步骤。 最后,您将学习如何创建一个新的 Rails 应用程序并通过 Web 浏览器对其进行测试。

Ruby on Rails 简介

Ruby on Rails 或 Rails 是一个用 Ruby 编程语言编写的开源 Web 应用程序开发框架。 Rails 是一个服务器端 Web 应用程序框架,可促进 Web 标准的使用,例如 JSON 或者 XML 用于数据传输和 HTML, CSSJavaScript 用于用户界面。

使用 Rails,我们可以用更少的代码构建现代 Web 应用程序,同时完成比其他语言和框架更多的工作。 数十万个应用程序是使用 Rails 构建的。 一些流行的应用程序包括 Basecamp、GitHub、HEY、Shopify、Airbnb、Twitch、SoundCloud、Hulu、Zendesk 等等。

Ruby on Rails 是由 大卫·海涅迈尔·汉森,丹麦程序员、赛车手和畅销书作家。 Hansson 于 2004 年 7 月首次将 Rails 作为开源版本发布。当 Apple 宣布将在 Mac OS X v10.5 中发布 Ruby on Rails 时,Rails 变得流行起来。

1. 在 Linux 中安装 Ruby on Rails

首先,更新你的 Linux 系统。

如果您使用的是 Debian 及其衍生产品(如 Ubuntu),则可以使用 apt 如下所示:

$ sudo apt update
$ sudo apt upgrade

在 Fedora、RHEL 及其克隆,如 CentOS、AlmaLinux:

$ sudo dnf --refresh upgrade

要更新 openSUSE,请运行:

$ sudo zypper update
$ sudo zypper upgrade

重新启动系统以应用并完成更新:

$ sudo reboot

在安装 Rails 之前,请确保您已安装以下先决条件。

  • 红宝石 – 一种动态的开源编程语言,专注于简单性和生产力。
  • SQLite3 – 它是 Rails 的默认数据库后端。 当我们安装 Ruby 时,它将作为要求安装。
  • 节点.js – 用于构建可扩展网络应用程序的开源、跨平台、JavaScript 运行时环境。
  • – 用于安装和管理 JavaScript 程序的现代包管理器。

1.1。 在 Linux 中安装 Ruby

Ruby 为许多 Linux 发行版打包,并在它们的默认存储库中可用。 因此,您可以使用发行版的默认包管理器进行安装。 但是,存储库中可用的 Ruby 版本可能有点旧。 因此,您可以使用任何第三方安装程序和 Ruby 管理器。

许多 Ruby 用户使用 Ruby 管理器来管理多个 Ruby。 它们允许在 Ruby 版本之间轻松甚至自动切换。 出于本指南的目的,我们将使用 虚拟机.

RVM,代表 R优比 侵蚀 anager,允许您在 Linux 系统上安装和管理 Ruby 的多个安装。 它还可以管理不同的 gemset。 它适用于 macOS、Linux 或其他类 UNIX 操作系统。

安装添加 RVM GPG 密钥所需的 GPG2 包:

$ sudo apt install gnupg2

然后通过在终端中输入以下命令来导入 RVM GPG 密钥:

$ gpg2 --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB

添加密钥后,运行以下命令在 Linux 中安装 RVM:

$ curl -sSL https://get.rvm.io | bash -s stable

样本输出:

Downloading https://github.com/rvm/rvm/archive/1.29.12.tar.gz
Downloading https://github.com/rvm/rvm/releases/download/1.29.12/1.29.12.tar.gz.asc
gpg: Signature made Fri Jan 15 18:46:22 2021 UTC
gpg:                using RSA key 7D2BAF1CF37B13E2069D6956105BD0E739499BDB
gpg: Good signature from "Piotr Kuczynski <[email protected]>" [unknown]
gpg: WARNING: This key is not certified with a trusted signature!
gpg:          There is no indication that the signature belongs to the owner.
Primary key fingerprint: 7D2B AF1C F37B 13E2 069D  6956 105B D0E7 3949 9BDB
GPG verified '/home/ostechnix/.rvm/archives/rvm-1.29.12.tgz'
Installing RVM to /home/ostechnix/.rvm/
    Adding rvm PATH line to /home/ostechnix/.profile /home/ostechnix/.mkshrc /home/ostechnix/.bashrc /home/ostechnix/.zshrc.
    Adding rvm loading line to /home/ostechnix/.profile /home/ostechnix/.bash_profile /home/ostechnix/.zlogin.
Installation of RVM in /home/ostechnix/.rvm/ is almost complete:

  * To start using RVM you need to run `source /home/ostechnix/.rvm/scripts/rvm`
    in all your open shell windows, in rare cases you need to reopen all shell windows.
Thanks for installing RVM ?
Please consider donating to our open collective to help us maintain RVM.

?  Donate: https://opencollective.com/rvm/donate
在 Linux 中安装 RVM

RVM 安装几乎完成。 在安装 Ruby 之前,您需要运行最后一步!

正如您在上面的输出中可能已经注意到的那样,有一行说 – 要开始使用 RVM,您需要运行 `source /home/ostechnix/.rvm/scripts/rvm`.

所以让我运行以下命令来启动 RVM:

$ source /home/ostechnix/.rvm/scripts/rvm

代替 /home/ostechnix 使用您自己的用户名。 上述命令将设置 RVM 环境路径。

如果您使用的是基于 RHEL 的系统(例如 CentOS),您可能需要运行以下命令将 RVM 添加到 $PATH.

# source /etc/profile.d/rvm.sh

我们刚刚安装了 RVM 并将其添加到 $PATH. 现在让我们为 RVM 安装必要的要求。

要安装 RVM 要求,只需运行:

$ rvm requirements

样本输出:

Checking requirements for ubuntu.
 Installing requirements for ubuntu.
 Updating system…
 Installing required packages: g++, gcc, autoconf, automake, bison, libc6-dev, libffi-dev, libgdbm-dev, libncurses5-dev, libsqlite3-dev, libtool, libyaml-dev, make, pkg-config, sqlite3, zlib1g-dev, libgmp-dev, libreadline-dev, libssl-dev…………………………..
 Requirements installation successful.

上面的命令会安装所有需要的包,包括 SQLite。 现在是使用 RVM 安装 Ruby 的时候了。

首先,让我们使用以下命令检查可用的 Ruby 版本:

$ rvm list known

样本输出:

MRI Rubies
 [ruby-]1.8.6[-p420]
 [ruby-]1.8.7[-head] # security released on head
 [ruby-]1.9.1[-p431]
 [ruby-]1.9.2[-p330]
 [ruby-]1.9.3[-p551]
 [ruby-]2.0.0[-p648]
 [ruby-]2.1[.10]
 [ruby-]2.2[.10]
 [ruby-]2.3[.8]
 [ruby-]2.4[.10]
 [ruby-]2.5[.8]
 [ruby-]2.6[.6]
 [ruby-]2.7[.2]
 [ruby-]3[.0.0]
 ruby-head
[...]

在编写本指南时,最新可用的 Ruby 版本是 3.0.0.

要在 Linux 上使用 RVM 安装最新的 Ruby,请运行:

$ rvm install ruby

样本输出:

Searching for binary rubies, this might take some time.
 Found remote file https://rvm_io.global.ssl.fastly.net/binaries/ubuntu/20.04/x86_64/ruby-3.0.0.tar.bz2
 Checking requirements for ubuntu.
 Requirements installation successful.
 ruby-3.0.0 - #configure
 ruby-3.0.0 - #download
   % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                  Dload  Upload   Total   Spent    Left  Speed
 100 26.7M  100 26.7M    0     0  1186k      0  0:00:23  0:00:23 --:--:-- 1307k
 ruby-3.0.0 - #validate archive
 ruby-3.0.0 - #extract
 ruby-3.0.0 - #validate binary
 ruby-3.0.0 - #setup
 ruby-3.0.0 - #gemset created /home/ostechnix/.rvm/gems/[email protected]
 ruby-3.0.0 - #importing gemset /home/ostechnix/.rvm/gemsets/global.gems…………………………….
 ruby-3.0.0 - #generating global wrappers……..
 ruby-3.0.0 - #gemset created /home/ostechnix/.rvm/gems/ruby-3.0.0
 ruby-3.0.0 - #importing gemsetfile /home/ostechnix/.rvm/gemsets/default.gems evaluated to empty gem list
 ruby-3.0.0 - #generating default wrappers……..
在 Linux 上使用 RVM 安装 Ruby

您还可以通过明确提及其版本来安装特定版本的 Ruby。 为了 example,以下命令将安装 Ruby 2.7.2 版本。

$ rvm install ruby-2.7.2

检查已安装的 Ruby 版本:

$ ruby --version
 ruby 3.0.0p0 (2020-12-25 revision 95aff21468) [x86_64-linux]

列出所有已安装的 Ruby 版本:

$ rvm list

样本输出:

 =* ruby-3.0.0 [ x86_64 ]
 => - current
 =* - current && default
 * - default

如果您安装了多个 Ruby 版本,则可以设置默认 Ruby 版本,如下所示:

$ rvm use 3.0.0 --default

1.2. 安装 SQLite

SQLite 是一个关系数据库管理系统,包含在一个 C 图书馆。 SQLite 是部署最广泛的数据库引擎。 它几乎无处不在,包括网络浏览器、操作系统和嵌入式系统。 Rails 使用 SQLite3 作为默认数据库。

我们在上一步安装 RVM 要求时会自动安装 SQLite。 所以让我们不要为 SQLite 安装而烦恼。

1.3. 安装 Nodejs

一些 Rails 功能,例如资产管道,依赖于 JavaScript 运行时。 由于 Nodejs 提供了此功能,请按照以下链接中的说明进行安装。

  • 如何在 Linux 上安装 NodeJS

1.4. 安装纱线

Yarn 是一个 JavaScript 包管理器,是 NPM 的更快替代品。 将 Yarn 与 Rails 一起使用的优势在于,您可以方便地管理项目中的 CSS 和 JavaScript 库。 它的行为类似于 Ruby gem,但在前端世界中。 Rails 支持开箱即用的 Yarn。

如果您尚未安装 Yarn,请参阅以下指南。

  • 如何在 Linux 中安装和使用 Yarn 包管理器

1.5。 安装导轨

安装所有上述先决条件后,运行以下命令在 Linux 系统中安装 Ruby on Rails:

$ gem install rails
在 Linux 中安装 Ruby on Rails在 Linux 中安装 Ruby on Rails

使用命令检查已安装的 Rails 版本:

$ rails --version
 Rails 6.1.3.2

如果你想安装一个特定的 Rails 版本,对于 example 5.2.0,命令将是:

$ gem install rails -v 5.2.0

您可以通过使用以下命令搜索它们的版本来列出所有可用的 Rails 版本:

$ gem search '^rails$' --all

在编写本指南时,这些是可用的远程 gem:

*** REMOTE GEMS ***
 rails (6.1.3.2, 6.1.3.1, 6.1.3, 6.1.2.1, 6.1.2, 6.1.1, 6.1.0, 6.0.3.7, 6.0.3.6, 6.0.3.5, 6.0.3.4, 6.0.3.3, 6.0.3.2, 6.0.3.1, 6.0.3, 6.0.2.2, 6.0.2.1, 6.0.2, 6.0.1, 6.0.0, 5.2.6, 5.2.5, 5.2.4.6, 5.2.4.5, 5.2.4.4, 5.2.4.3, 5.2.4.2, 5.2.4.1, 5.2.4, 5.2.3, 5.2.2.1, 5.2.2, 5.2.1.1, 5.2.1, 5.2.0, 5.1.7, 5.1.6.2, 5.1.6.1, 5.1.6, 5.1.5, 5.1.4, 5.1.3, 5.1.2, 5.1.1, 5.1.0, 5.0.7.2, 5.0.7.1, 5.0.7, 5.0.6, 5.0.5, 5.0.4, 5.0.3, 5.0.2, 5.0.1, 5.0.0.1, 5.0.0, 4.2.11.3, 4.2.11.2, 4.2.11.1, 4.2.11, 4.2.10, 4.2.9, 4.2.8, 4.2.7.1, 4.2.7, 4.2.6, 4.2.5.2, 4.2.5.1, 4.2.5, 4.2.4, 4.2.3, 4.2.2, 4.2.1, 4.2.0, 4.1.16, 4.1.15, 4.1.14.2, 4.1.14.1, 4.1.14, 4.1.13, 4.1.12, 4.1.11, 4.1.10, 4.1.9, 4.1.8, 4.1.7.1, 4.1.7, 4.1.6, 4.1.5, 4.1.4, 4.1.3, 4.1.2, 4.1.1, 4.1.0, 4.0.13, 4.0.12, 4.0.11.1, 4.0.11, 4.0.10, 4.0.9, 4.0.8, 4.0.7, 4.0.6, 4.0.5, 4.0.4, 4.0.3, 4.0.2, 4.0.1, 4.0.0, 3.2.22.5, 3.2.22.4, 3.2.22.3, 3.2.22.2, 3.2.22.1, 3.2.22, 3.2.21, 3.2.20, 3.2.19, 3.2.18, 3.2.17, 3.2.16, 3.2.15, 3.2.14, 3.2.13, 3.2.12, 3.2.11, 3.2.10, 3.2.9, 3.2.8, 3.2.7, 3.2.6, 3.2.5, 3.2.4, 3.2.3, 3.2.2, 3.2.1, 3.2.0, 3.1.12, 3.1.11, 3.1.10, 3.1.9, 3.1.8, 3.1.7, 3.1.6, 3.1.5, 3.1.4, 3.1.3, 3.1.2, 3.1.1, 3.1.0, 3.0.20, 3.0.19, 3.0.18, 3.0.17, 3.0.16, 3.0.15, 3.0.14, 3.0.13, 3.0.12, 3.0.11, 3.0.10, 3.0.9, 3.0.8, 3.0.7, 3.0.6, 3.0.5, 3.0.4, 3.0.3, 3.0.2, 3.0.1, 3.0.0, 2.3.18, 2.3.17, 2.3.16, 2.3.15, 2.3.14, 2.3.12, 2.3.11, 2.3.10, 2.3.9, 2.3.8, 2.3.7, 2.3.6, 2.3.5, 2.3.4, 2.3.3, 2.3.2, 2.2.3, 2.2.2, 2.1.2, 2.1.1, 2.1.0, 2.0.5, 2.0.4, 2.0.2, 2.0.1, 2.0.0, 1.2.6, 1.2.5, 1.2.4, 1.2.3, 1.2.2, 1.2.1, 1.2.0, 1.1.6, 1.1.5, 1.1.4, 1.1.3, 1.1.2, 1.1.1, 1.1.0, 1.0.0, 0.14.4, 0.14.3, 0.14.2, 0.14.1, 0.13.1, 0.13.0, 0.12.1, 0.12.0, 0.11.1, 0.11.0, 0.10.1, 0.10.0, 0.9.5, 0.9.4.1, 0.9.4, 0.9.3, 0.9.2, 0.9.1, 0.9.0, 0.8.5, 0.8.0)

最新版本将首先列出。

2. 创建一个新的 Rails 应用程序

Rails 包含许多名为 generators 的脚本,这使您的应用程序开发更容易! 发电机之一是 新申请 用于创建新的 Rails 应用程序的生成器。

创建一个名为的新 Rails 应用程序 ostechnixapp, 跑:

$ rails new ostechnixapp

这将在名为 ostechnixapp 的目录中创建一个名为 ostechnixapp 的 Rails 应用程序 ostechnixapp 并安装中已经提到的 gem 依赖项 Gemfile 使用 bundle install.

创建后 ostechnixapp 应用程序,切换到其目录:

$ cd ostechnixapp/

该目录包含多个文件和子目录。 主子目录是 app,其中包含应用程序的控制器、模型、视图、帮助程序、邮件程序、通道、作业和资产。

要查看我们新创建的应用程序,让我们使用以下命令启动一个 Web 服务器:

$ bin/rails server

或者,

$ rails server

这将启动 彪马默认情况下与 Rails 一起分发的 Web 服务器。

要查看您的应用程序,请打开您的网络浏览器并导航到 https://localhost:3000. 您应该看到 Rails 默认信息页面:

Rails 默认信息页面Rails 默认信息页面

如果你看到“耶!你在 Rails 上!” 页面,恭喜! 你都准备好了! Ruby on Rails 已在您的 Linux 系统上正确安装和配置。 要退出网络服务器,只需按 CTRL+C.

默认情况下,您只能从本地计算机访问 Rails 测试页面。 如果你想从网络上的其他机器访问 Rails 默认测试页面,运行:

$ rails server -b 0.0.0.0

现在,您可以通过导航到网络上的任何系统访问 Rails 测试页面 https://ip-address:3000 从浏览器窗口。

您可能还需要允许端口 3000 在您的防火墙/路由器中。

您还可以通过传递使用不同的端口 -p 标志以及端口号,如下所示:

$ rails server -b 0.0.0.0 -p 8080

现在,您可以使用以下 URL 访问您的 Rails 应用程序: https://ip-address:8080

3. 将 MySQL 与 Rails 应用程序一起使用

虽然 Sqlite 与 Rails 配合得很好,但有时它可能不足以满足您的 Rails 应用程序。 如果您想要可扩展性、并发性、集中化和控制,您可能想要尝试更强大的数据库,例如 MySQL 或 PostgreSQL。 以下指南解释了如何将 MySQL 与 Ruby on Rails 应用程序一起使用。

  • 如何在 Ruby On Rails 应用程序中使用 MySQL

4. 将 PostgreSQL 与 Rails 应用程序一起使用

PostgreSQL 是另一个推荐用于 Rails 应用程序的数据库。 如果您想在 Rail 项目中使用 PostgreSQL 而不是 MySQL,以下指南将有所帮助。

  • 如何在 Ruby On Rails 应用程序中使用 PostgreSQL

5. 移除 RVM

安装 Ruby 后,您可能不再需要 RVM。 因此,如果不再需要 RVM,您可以卸载它。

为此,请编辑您的 ~/.bashrc 文件:

$ nano ~/.bashrc

向下滚动到最后并删除以下行:

[...]
Add RVM to PATH for scripting. Make sure this is the last PATH variable chang>
export PATH="$PATH:$HOME/.rvm/bin"

CTRL+W 其次是 CTRL+X 保存和 close 文件。

来源 ~/.bashrc 文件以使更改立即生效。

$ source ~/.bashrc

最后,删除 RVM 目录:

$ rm -r ~/.rvm/

结论

在这个阶段,您应该了解什么是 Ruby on Rails,如何使用 RVM 在 Linux 中安装 Ruby on Rails,最后如何创建示例 Rails 应用程序并通过 Web 浏览器对其进行测试。 开始开发您的 Rails 应用程序。

资源: