本分步指南向您简要介绍了 Ruby on Rails 然后指导您完成在 Linux 操作系统中安装 Ruby on Rails 的步骤。 最后,您将学习如何创建一个新的 Rails 应用程序并通过 Web 浏览器对其进行测试。
内容
Ruby on Rails 简介
Ruby on Rails 或 Rails,是一种用 Ruby 编程语言编写的开源 Web 应用程序开发框架。 Rails 是一个服务器端 Web 应用程序框架,它促进了 Web 标准的使用,例如 JSON
或者 XML
用于数据传输和 HTML
, CSS
和 JavaScript
用于用户界面。
使用 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,代表 电阻乌比 伏错误 米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
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……..
您还可以通过明确提及其版本来安装特定版本的 Ruby。 例如,以下命令将安装 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 是部署最广泛的数据库引擎。 它几乎无处不在,包括 Web 浏览器、操作系统和嵌入式系统。 Rails 使用 SQLite3 作为默认数据库。
当我们在上一步安装 RVM 要求时,SQLite 会自动安装。 所以让我们不要打扰 SQLite 的安装。
1.3. 安装 Node.js
一些 Rails 功能(例如资产管道)依赖于 JavaScript 运行时。 由于 Nodejs 提供了此功能,请按照以下链接中的说明进行安装。
- 如何在 Linux 上安装 NodeJS
1.4. 安装纱线
Yarn 是一个 JavaScript 包管理器,是 NPM 的更快替代品。 将 Yarn 与 Rails 结合使用的优势在于,您可以方便地管理项目中的 CSS 和 JavaScript 库。 它的行为类似于 Ruby gems,但在前端领域。 Rails 支持 Yarn 开箱即用。
如果您还没有安装 Yarn,请参考以下指南。
- 如何在 Linux 中安装和使用 Yarn 包管理器
1.5. 安装导轨
安装所有上述先决条件后,运行以下命令在 Linux 系统中安装 Ruby on Rails:
$ gem install rails
使用以下命令检查已安装的 Rails 版本:
$ rails --version Rails 6.1.3.2
例如,如果要安装特定的 Rails 版本 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 服务器。
要查看您的应用程序的运行情况,请打开您的 Web 浏览器并导航到 https://本地主机:3000. 您应该会看到 Rails 默认信息页面:
如果你看到“耶!你在 Rails 上!” 页,恭喜! 你都准备好了!! Ruby on Rails 已在您的 Linux 系统上正确安装和配置。 要退出 Web 服务器,只需按 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。 以下指南解释了如何在 Ruby on Rails 应用程序中使用 MySQL。
- 如何在 Ruby On Rails 应用程序中使用 MySQL
4. 在 Rails 应用程序中使用 PostgreSQL
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> 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 应用程序。
资源:
- Ruby 版本管理器网站
- Ruby on Rails 网站
- Ruby on Rails GitHub 存储库
- Ruby on Rails 文档
LinuxNodejs开源编程语言RubyRuby on RailsRuby Version ManagerRVMSqliteYarn