Skip to content

Ruby on Rails - 安装

要使用 Ruby on Rails 开发 Web 应用程序,您需要安装几个关键组件。本指南涵盖了现代安装实践。截至本文撰写时,当前的稳定版本大约是 Ruby 3.2.x 和 Rails 7.1.x。请务必查阅官方 Ruby 和 Rails 网站以获取最新的推荐版本。

  • Ruby: 编程语言。
  • RubyGems: Ruby 库(Gem)的包管理器(package manager)。
  • Bundler: 管理应用特定的 Gem 依赖(dependency)。
  • Rails Framework: Rails Gem 本身。
  • Node.js 和 Yarn/npm: 用于 JavaScript 资源管理(Rails 使用像 esbuild 这样的工具,这些工具通常需要 JS 运行时)。
  • 数据库系统: SQLite 是新应用的默认数据库(易于设置)。PostgreSQL 或 MySQL 在开发和生产环境中也很常用。

Rails 默认自带 Puma Web 服务器,适用于开发和生产环境。

在 Windows 上安装 Ruby 和 Rails 的推荐方法是使用 RubyInstaller。

步骤 1:使用 RubyInstaller 安装 Ruby

Section titled “步骤 1:使用 RubyInstaller 安装 Ruby”
  1. 访问 rubyinstaller.org。
  2. 下载推荐的 Ruby+Devkit 安装程序(例如,Ruby+Devkit 3.2.x (x64))。Devkit(开发工具包)对于安装带有原生扩展的 Gem 至关重要。
  3. 运行安装程序。接受默认设置,并确保勾选“Add Ruby executables to your PATH”(将 Ruby 可执行文件添加到 PATH 环境变量)选项。
  4. Ruby 安装完成后,会弹出一个命令提示符(Command Prompt)窗口,询问要安装哪些组件。选择选项 1 (MSYS2 base installation) 和选项 3 (MSYS2 and MINGW development toolchain)。这将安装编译 Gem 所需的工具。

步骤 2:验证 Ruby 和 RubyGems 安装

Section titled “步骤 2:验证 Ruby 和 RubyGems 安装”

打开一个新的命令提示符 (cmd.exe 或 PowerShell) 并输入:

C:\> ruby -v
C:\> gem -v

您应该能看到安装的 Ruby 版本(例如,ruby 3.2.2p53)和 Gem 版本。

C:\> gem install bundler
C:\> gem install rails

这将安装最新稳定版本的 Rails。gem install rails 命令可能需要几分钟,因为它会下载并安装 Rails 及其许多依赖 Gem。您将看到列出正在安装的 Gem 的输出。

步骤 4:安装 Node.js 和 Yarn (可选但推荐)

Section titled “步骤 4:安装 Node.js 和 Yarn (可选但推荐)”

现代 Rails 广泛使用 JavaScript。从 nodejs.org 安装 Node.js(其中包含 npm)。安装 Node.js 后,您可以通过 npm 全局安装 Yarn(另一种常用于 Rails 的包管理器):

C:\> npm install --global yarn
C:\> rails -v

这应该输出 Rails 版本,例如 Rails 7.1.2。

恭喜!您已成功在 Windows 上安装了 Ruby on Rails。

在 Linux 和 macOS 上强烈推荐使用 Ruby 版本管理器(version manager),例如 rbenv 或 RVM。本指南使用 rbenv。

步骤 1:安装前置依赖 (Prerequisite Dependencies)

Section titled “步骤 1:安装前置依赖 (Prerequisite Dependencies)”

依赖项因 Linux 发行版(distribution)而异。对于 Debian/Ubuntu:

$ sudo apt update
$ sudo apt install -y git curl libssl-dev libreadline-dev zlib1g-dev autoconf bison build-essential libyaml-dev libreadline-dev libncurses5-dev libffi-dev libgdbm-dev libjemalloc-dev

对于 Fedora/CentOS/RHEL:

$ sudo dnf install -y git curl autoconf bison gcc-c++ readline-devel zlib-devel openssl-devel libyaml-devel libffi-devel make bzip2 patch
$ git clone https://github.com/rbenv/rbenv.git ~/.rbenv
$ echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc # Or ~/.zshrc if using Zsh
$ echo 'eval "$(rbenv init -)"' >> ~/.bashrc # Or ~/.zshrc
$ exec $SHELL
$ git clone https://github.com/rbenv/ruby-build.git "$(rbenv root)"/plugins/ruby-build

重新启动您的 Shell(终端)或运行 exec $SHELL 使更改生效。

列出可用的 Ruby 版本:rbenv install -l。然后安装一个最近的稳定版本(例如,3.2.2):

$ rbenv install 3.2.2
$ rbenv global 3.2.2 # Set this version as default

验证:

$ ruby -v
# Expected output: ruby 3.2.2p53 (YYYY-MM-DD revision XXXXXX) [architecture]
# 期望输出:ruby 3.2.2p53 (YYYY-MM-DD revision XXXXXX) [架构]

禁用 Gem 文档安装(可选,可加快 Gem 安装速度):

$ echo "gem: --no-document" > ~/.gemrc
$ gem install bundler
$ gem install rails
$ rbenv rehash # Important after installing gems that provide executables
# 安装提供可执行文件的 Gem 后,这一步很重要

验证 Rails:

$ rails -v
# Expected output: Rails 7.1.2 (or similar latest version)
# 期望输出:Rails 7.1.2(或类似的最新版本)

安装 Node.js(例如 LTS 长期支持版本)和 Yarn。在 Linux 上通常使用 NodeSource 仓库(repository):

# For Debian/Ubuntu (example for Node.js 20.x)
# 对于 Debian/Ubuntu(以 Node.js 20.x 为例)
$ curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
$ sudo apt-get install -y nodejs
# Install Yarn globally via npm
# 通过 npm 全局安装 Yarn
$ sudo npm install --global yarn

请参考 Node.js 和 Yarn 文档,获取适用于您特定发行版的详细说明。

步骤 6:安装数据库 (示例:在 Ubuntu 上安装 PostgreSQL)

Section titled “步骤 6:安装数据库 (示例:在 Ubuntu 上安装 PostgreSQL)”
$ sudo apt install postgresql postgresql-contrib libpq-dev
$ sudo -u postgres createuser -s $(whoami) # Creates a PostgreSQL superuser with your Linux username (for easy local dev)
# 创建一个与您的 Linux 用户名相同的 PostgreSQL 超级用户(便于本地开发)

恭喜!您已成功在 Linux 上安装了 Ruby on Rails。

要更新特定项目的 Rails Gem,进入您的项目目录并运行:

$ bundle update rails

要更新全局安装的 Rails Gem(如果您是在项目上下文之外安装的,这种情况较少用于项目工作):

$ gem update rails
$ rbenv rehash # If using rbenv
# 如果使用 rbenv,运行此命令

安装验证:创建您的第一个 Rails 应用

Section titled “安装验证:创建您的第一个 Rails 应用”

让我们创建一个新的 Rails 应用来验证安装:

$ rails new demo_app

此命令将在名为 demo_app 的目录下生成一个新的 Rails 应用。您会看到很多输出,因为 Rails 会创建文件和目录,并运行 bundle install 来安装默认 Gem。输出通常包括诸如 create app/controllers/application_controller.rb, run bundle install 等行。

现在,进入新创建的应用目录并启动 Rails 开发服务器:

$ cd demo_app
$ bin/rails server # or simply 'rails s'

您应该看到指示 Puma Web 服务器正在启动的输出,类似于: => Booting Puma => Rails 7.1.2 application starting in development => Run bin/rails server —help for more startup options Puma starting in single mode... * Puma version: X.Y.Z (ruby A.B.C-p...) * Min threads: 5, max threads: 5 * Listening on http://localhost:3000 Use Ctrl-C to stop

=> 正在启动 Puma => Rails 7.1.2 应用以 development(开发)模式启动 => 运行 bin/rails server --help 获取更多启动选项 Puma 以单模式启动…

  • Puma 版本: X.Y.Z (ruby A.B.C-p…)
  • 最小线程数: 5, 最大线程数: 5
  • 正在监听 http://localhost:3000 使用 Ctrl-C 停止

打开您的 Web 浏览器,访问 http://localhost:3000。

您应该能看到默认的 Rails 欢迎页面,通常是一个带有 Ruby on Rails 标志和指示您的应用在 development 模式下成功运行的信息的简单页面。这证明您的 Rails 安装工作正常!