更多内容请访问 rubyonrails.org:

安装 Rails 核心开发依赖项

本指南介绍如何为 Ruby on Rails 核心开发设置环境。

阅读完本指南后,您将了解

  • 如何为 Rails 开发设置您的机器

1 其他设置环境的方法

如果您不想在本地机器上为开发设置 Rails,可以使用 Codespaces、VS Code Remote 插件或 rails-dev-box。了解更多关于这些选项的信息 这里.

2 本地开发

如果您想在本地机器上本地开发 Ruby on Rails,请查看以下步骤。

2.1 安装 Git

Ruby on Rails 使用 Git 进行源代码控制。 Git 主页 有安装说明。网上有许多资源可以帮助您熟悉 Git。

2.2 克隆 Ruby on Rails 代码库

导航到您要下载 Ruby on Rails 源代码的文件夹(它将创建自己的 rails 子目录),然后运行

$ git clone https://github.com/rails/rails.git
$ cd rails

2.3 安装其他工具和服务

一些 Rails 测试依赖于其他工具,您需要在运行这些特定测试之前安装这些工具。

以下是每个 gems 的其他依赖项列表

  • Action Cable 依赖 Redis
  • Active Record 依赖 SQLite3、MySQL 和 PostgreSQL
  • Active Storage 依赖 Yarn(此外 Yarn 还依赖于 Node.js)、ImageMagick、libvips、FFmpeg、muPDF、Poppler,以及在 macOS 上还需要 XQuartz。
  • Active Support 依赖 memcached 和 Redis
  • Railties 依赖于 JavaScript 运行时环境,例如安装了 Node.js

安装您需要正确测试您将要进行更改的完整 gem 的所有服务。在下面,详细介绍了如何在 macOS、Ubuntu、Fedora/CentOS、Arch Linux 和 FreeBSD 上安装这些服务。

Redis 的文档不鼓励使用包管理器进行安装,因为这些包管理器通常已经过时了。从源代码安装并启动服务器非常简单,并在 Redis 文档 中有详细说明。

Active Record 测试必须至少通过 MySQL、PostgreSQL 和 SQLite3 的测试。您的补丁将被拒绝,除非测试针对单个适配器,除非更改和测试是适配器特定的。

在下面,您可以找到关于如何在不同操作系统上安装所有其他工具的说明。

2.3.1 macOS

在 macOS 上,您可以使用 Homebrew 来安装所有其他工具。

要安装所有工具,请运行

$ brew bundle

您还需要启动每个已安装的服务。要列出所有可用的服务,请运行

$ brew services list

然后,您可以像这样依次启动每个服务

$ brew services start mysql

mysql 替换为要启动的服务的名称。

2.3.2 Ubuntu

要安装所有工具,请运行

$ sudo apt-get update
$ sudo apt-get install sqlite3 libsqlite3-dev mysql-server libmysqlclient-dev postgresql postgresql-client postgresql-contrib libpq-dev redis-server memcached imagemagick ffmpeg mupdf mupdf-tools libxml2-dev libvips42 poppler-utils libyaml-dev libffi-dev

# Install Yarn
# Use this command if you do not have Node.js installed
# ref: https://github.com/nodesource/distributions#installation-instructions
$ sudo mkdir -p /etc/apt/keyrings
$ curl --fail --silent --show-error --location https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | sudo gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
$ echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_20.x nodistro main" | sudo tee /etc/apt/sources.list.d/nodesource.list
$ sudo apt-get update
$ sudo apt-get install -y nodejs

# Once you have installed Node.js, install the yarn npm package
$ sudo npm install --global yarn

2.3.3 Fedora 或 CentOS

要安装所有工具,请运行

$ sudo dnf install sqlite-devel sqlite-libs mysql-server mysql-devel postgresql-server postgresql-devel redis memcached ImageMagick ffmpeg mupdf libxml2-devel vips poppler-utils

# Install Yarn
# Use this command if you do not have Node.js installed
# ref: https://github.com/nodesource/distributions#installation-instructions-1
$ sudo dnf install https://rpm.nodesource.com/pub_20/nodistro/repo/nodesource-release-nodistro-1.noarch.rpm -y
$ sudo dnf install nodejs -y --setopt=nodesource-nodejs.module_hotfixes=1

# Once you have installed Node.js, install the yarn npm package
$ sudo npm install --global yarn

2.3.4 Arch Linux

要安装所有工具,请运行

$ sudo pacman -S sqlite mariadb libmariadbclient mariadb-clients postgresql postgresql-libs redis memcached imagemagick ffmpeg mupdf mupdf-tools poppler yarn libxml2 libvips poppler
$ sudo mariadb-install-db --user=mysql --basedir=/usr --datadir=/var/lib/mysql
$ sudo systemctl start redis mariadb memcached

如果您运行的是 Arch Linux,则不再支持 MySQL,因此您需要使用 MariaDB 作为替代(请参阅 此公告)。

2.3.5 FreeBSD

要安装所有工具,请运行

$ sudo pkg install sqlite3 mysql80-client mysql80-server postgresql11-client postgresql11-server memcached imagemagick6 ffmpeg mupdf yarn libxml2 vips poppler-utils
# portmaster databases/redis

或者通过 ports 安装所有内容(这些软件包位于 databases 文件夹下)。

如果您在安装 MySQL 期间遇到问题,请参阅 MySQL 文档

2.3.6 Debian

要安装所有依赖项,请运行

$ sudo apt-get install sqlite3 libsqlite3-dev default-mysql-server default-libmysqlclient-dev postgresql postgresql-client postgresql-contrib libpq-dev redis-server memcached imagemagick ffmpeg mupdf mupdf-tools libxml2-dev libvips42 poppler-utils

如果您运行的是 Debian,MariaDB 是默认的 MySQL 服务器,因此请注意,可能存在一些差异。

2.4 数据库配置

还需要执行一些额外的步骤来配置运行 Active Record 测试所需的数据库引擎。

PostgreSQL 的身份验证工作方式有所不同。要在 Linux 或 BSD 上使用您的开发帐户设置开发环境,您只需运行

$ sudo -u postgres createuser --superuser $USER

对于 macOS,则为

$ createuser --superuser $USER

MySQL 将在创建数据库时创建用户。该任务假定您的用户是 root,并且没有密码。

然后,您需要使用以下命令为 MySQL 和 PostgreSQL 创建测试数据库

$ cd activerecord
$ bundle exec rake db:create

您还可以为每个数据库引擎分别创建测试数据库

$ cd activerecord
$ bundle exec rake db:mysql:build
$ bundle exec rake db:postgresql:build

您可以使用以下命令删除数据库

$ cd activerecord
$ bundle exec rake db:drop

使用 Rake 任务创建测试数据库可以确保它们具有正确的字符集和排序规则。

如果您使用的是其他数据库,请查看 activerecord/test/config.ymlactiverecord/test/config.example.yml 文件以获取默认连接信息。您可以编辑 activerecord/test/config.yml 以在您的机器上提供不同的凭据,但您不应将任何这些更改推送到 Rails。

2.5 安装 JavaScript 依赖项

如果您安装了 Yarn,则需要安装 JavaScript 依赖项

$ yarn install

2.6 安装 Gem 依赖项

Gems 是使用 Bundler 安装的,Bundler 默认情况下与 Ruby 一起提供。

要安装 Rails 的 Gemfile,请运行

$ bundle install

如果您不需要运行 Active Record 测试,则可以运行

$ bundle config set without db
$ bundle install

2.7 为 Rails 做贡献

完成所有设置后,请阅读如何开始 贡献



返回顶部