在 Debian 10 上安装和配置 Ruby on Rails
如果您是一名开发人员,正在为 Linux 寻找可靠、开源、跨平台的 Web 开发框架,那么 Ruby on Rails 是您的绝佳选择。它通过抽象和简化开发过程中发生的重复任务来帮助他们构建应用程序和网站。它被称为Ruby on Rails,因为Rails是用Ruby编程语言编写的,就像Symfony和Zend是用PHP编写的而Django是用Python编写的一样。 Rails 为数据库、Web 服务器和网站提供标准结构。 Soundcloud、Github、Airbnb 等著名应用程序都是基于 Rails 的。 Ruby on Rails 已获得 MIT 许可,并于 2005 年 12 月首次发布。其所有存储库均可在 Github 上获取,包括迄今为止的最新版本。
在本文中,我们将提供安装和配置 Ruby on Rails 及其所有要求的分步说明。然后我们将解释如何安装和配置 PostgreSQL 数据库来创建您的第一个 Rails 项目。最后,我们还将创建一个简单的 CRUD 界面,使您的应用程序更具交互性和实用性。
我们已在 Debian 10 Buster 系统上运行本文中提到的命令和过程。我们使用 Debian 命令行(终端)来安装和配置 Ruby on Rails。您可以通过搜索应用程序启动器来访问终端应用程序,如下所示:
可以通过键盘上的 Super/Windows 键访问应用程序启动器。
在 Debian 10 上安装 Ruby on Rails (RoR)
为了安装 Ruby on Rails,您首先需要在系统上安装和配置一些必备组件的最新版本,例如:
- RVM-Ruby 版本管理器
- 红宝石
- Nodejs-Javascript 运行时
- Ruby Gems-Ruby 包管理器
在本节中,我们将首先准备好我们的系统,首先逐步安装所有这些,设置它们的最新版本,然后最后安装 Ruby on Rails。
1.安装Ruby版本管理器(RVM)
Ruby 版本管理器帮助我们管理 Ruby 安装并在单个系统上配置多个版本的 Ruby。请按照以下步骤通过安装程序脚本安装 RVM 软件包:
第 1 步:将 RVM 密钥添加到您的系统
运行以下命令以添加 RVM 密钥;当您安装稳定版本的 RVM 时,将需要此密钥:
gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 \
7D2BAF1CF37B13E2069D6956105BD0E739499BDB
第2步:安装Curl
我们将通过 Curl 安装 RVM。由于最新版本的 Debian 中默认不包含它,因此我们需要通过 sudo 命令来安装它:
sudo apt-get install curl
请注意,只有授权用户才能在 Debian 上添加/删除和配置软件。
系统将提示您选择是/否以确认安装。请输入 Y 继续,之后 Curl 将安装在您的系统上。
步骤3:安装RVM稳定版
现在运行以下命令以安装 RVM 的最新稳定版本。
curl -sSL https://get.rvm.io | bash -s stable --ruby
此命令还将自动安装安装 RVM 所需的所有必需软件包。
该过程将需要一些时间,具体取决于您的互联网速度,之后 RVM 将安装在您的系统上。
第 4 步:设置 RVM 源文件夹
请注意,RVM 安装输出的最后几行建议运行以下命令:
source /home/[username]/.rvm/scripts/rvm
这用于将源文件夹设置为输出中提到的文件夹。您需要运行此命令才能开始使用 RVM。
设置源时您将得到以下输出:
现在 RVM 的源已设置。您可以通过以下命令检查系统上安装的 RVM 的版本号:
rvm --version
这也确保了 RVM 确实安装在您的系统上。
2. 将最新版本的 Ruby 配置为系统默认值
当您安装 RVM 时,最新版本的 Ruby 也会安装在您的系统上。然而,我们需要做的是将系统设置为使用最新版本的 Ruby 作为系统默认值。请按照以下步骤操作:
第 1 步:获取所有可用 Ruby 版本的列表
以下命令为您提供迄今为止发布的所有 Ruby 版本的列表:
rvm list known
通过此列表,请选择可用的最新 Ruby 版本。正如您在输出中看到的,Ruby 2.7 是最新的可用版本。
第 2 步:安装最新的 Ruby 版本
现在,通过运行以下 rvm 命令安装您在上一步中选择的最新版本的 Ruby:
rvm install ruby-2.7
该过程可能需要一些时间,具体取决于您的互联网速度,之后所选数量的 Ruby 将安装在您的系统上。
步骤 3:将最新版本的 Ruby 设置为默认版本
以下 rvm 命令将帮助您将最新安装的 Ruby 版本设置为系统默认版本:
rvm --default use ruby-2.7
你可以看到现在我的系统将使用 Ruby 2.7.0 作为默认的 Ruby 版本
如果出现错误:
运行上述命令后,您可能还会得到以下输出:
在这种情况下,请运行以下命令以允许登录 shell:
然后,再次运行以下命令来设置 Ruby 版本:
rvm --default use ruby-2.7
还可以通过运行以下命令来验证此默认版本:
ruby -v
3.安装Nodejs和gcc编译器
在开始 Debian 上的 Rails 开发之前,我们建议使用 Nodejs 作为 Javascript 运行时。它是编译 Ruby on Rails 资产管道的先决条件。
第1步:安装最新版本的Nodejs
使用以下命令将 Nodesource 存储库安装到您的系统:
curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -
现在通过以下 apt 命令作为 sudo 安装最新版本的 Nodejs:
sudo apt-get install -y nodejs
Nodejs 10 的最新可用版本将安装在您的系统上
第二步:安装gcc编译器
gcc 编译器是执行任何 Rails 开发之前需要安装的另一个先决条件。使用以下命令作为 sudo 来安装它:
sudo apt-get install gcc g++ make
5.将最新版本的RubyGems配置为系统默认值
当您安装 RVM 时,RubyGems 也会安装在您的系统上。然而,我们需要做的是将系统设置为使用系统默认的最新版本的 RubyGems。 Ruby Gems 基本上是 Ruby on Rails 包管理器,附带命令行工具 gem。
运行以下 gem 命令以更新系统以使用最新版本:
gem update --system
现在,当您通过以下命令检查版本号时,您将在命令行中看到您的系统正在使用最新版本的 RubyGems:
gem -v
5. 安装 Ruby on Rails
最后,安装完所有先决条件后,我们现在可以按照以下步骤在我们的系统上安装 Ruby on Rails:
第 1 步:查找最新可用版本
RubyGems 网站维护着迄今为止 Ruby on Rails 的所有版本,链接如下:
https://rubygems.org/gems/rails/versions
选择您想要安装的最新版本的 Ruby on Rails。在撰写本文时,最新的可用版本是 6.0.2.1。
第 2 步:安装最新版本
您可以通过 gem 命令行工具安装最新版本的 Ruby on Rails,如下所示:
gem install rails -v 6.0.2.1
安装过程可能需要一些时间,具体取决于您的互联网连接。
安装完成后,运行以下命令查看系统上安装的Rails版本。
rails -v
该命令还验证 Ruby on Rails 确实安装在您的系统上。
轨道开发
Ruby on Rails 支持许多数据库,例如 SQLite、MySQL 和 PostgreSQL。在本节中,我们将解释如何开始使用 PostgreSQL 进行 Rails 开发。这将包括:
- 安装 PostgreSQL 数据库
- 配置 PostgreSQL 并创建角色
- 您的第一个 Rails 应用程序
- 使用 Rails 上的 PostgreSQL 数据库创建简单的 CRUD
1.安装和设置PostgreSQL数据库
第一步:安装PostgreSQL
使用以下 apt 命令作为 sudo 来安装 PostgreSQL 数据库和其他一些必需的软件包:
sudo apt-get install postgresql postgresql-contrib libpq-dev -y
步骤2:启动并启用Postgresql服务
安装PostgreSQL后,需要通过以下命令启动postgresql服务:
systemctl start postgresql
系统将提示您一个身份验证对话框,因为只有授权用户才能在 Debian 上启用服务。输入管理员密码并单击“身份验证”按钮,之后服务将启动。
下一步是通过以下命令启用该服务:
systemctl enable postgresql
系统会多次提示您类似的认证对话框;每次输入管理员密码,然后单击“身份验证”按钮,然后将启用该服务。
第 3 步:验证安装
请运行以下命令以查看 PostgreSQL 安装的详细状态报告:
dpkg --status postgresql
2.配置PostgreSQL并创建角色
PostgreSQL 应用程序可以由用户或角色创建。默认情况下,存在一个“postgres”用户,它是超级用户,它可以创建和迁移数据库,还可以管理其他用户角色。
最初,您可以通过以下命令以 sudo 身份登录 PostgreSQL:
sudo -u postgres psql
在这里可以修改postgres的密码,如下:
postgress=# \password postgres
创建角色
超级用户可以通过以下命令创建新的用户角色:
创建角色“role_name”,使用createdb登录密码“‘password’”’;
例子 :
postgress=# create role dev_rails with createdb login password 'rockon123' ;
我们正在创建一个名为“dev_rails”的角色。这是将为我们的第一个 Rails 应用程序创建数据库的用户。
超级用户可以查看 PostgreSQL 上现有的角色列表,如下所示:
postgress=# \du
使用 Ctrl+z 退出 PostgreSQL。
3.您的第一个 Rails 应用程序
现在我们将使用 PostgreSQL 作为默认数据库创建第一个 Rails 应用程序。这涉及以下步骤:
第 1 步:创建一个新应用程序
通过以下命令创建一个名为“firstapp”或任何其他名称的新项目,并指定 PostgreSQL 作为数据库,如下所示:
rails new firstapp -d postgresql
这将在您的主文件夹中创建一个项目文件夹,如下所示:
ls
步骤 2:配置 Rails 项目以合并 PostgreSQL 用户角色
现在我们希望在 PostgreSQL 中创建的用户角色能够在 Rails 应用程序中创建数据库。为此,我们需要编辑位于 /config/ 文件夹中新创建的应用程序文件夹中的database.yml 文件。
移至您的第一个应用程序,然后移至 config 文件夹,如下所示:
cd firstapp/config/
在这里您将看到database.yml 文件。您可以通过您喜欢的文本编辑器编辑此文件。我们将通过 Nano 编辑器使用以下命令来执行此操作:
nano database.yml
在此文件中,您将主要看到三个部分:
- 发展
- 测试
- 生产
我们需要配置文件的开发和测试部分。
在开发部分进行如下配置
database: firstapp_development
username: dev_rails password: rockon123 host: localhost port: 5432 |
并且,测试部分中的以下内容:
database: firstapp_test
username: dev_rails password: rockon123 host: localhost port: 5432 |
注意:请确保语法正确。每行前面应有 2 个空格和 NOT 制表符。
按 Ctrl+X,然后按 Y,然后按 Enter 键保存文件。
步骤3:生成并迁移数据库
通过以下rails命令生成数据库:
rails db:setup
在 Debian 上您可能会收到以下错误:
因此,运行上面屏幕截图中提到的命令:
然后再次运行“rails db:setup”命令:
请确保没有错误。大多数错误是由于database.yml 文件的语法错误或您在PostgreSQL 中创建的用户名和密码不一致造成的。
生成成功后,通过以下rails命令迁移数据库:
rails db:migrate
第 4 步:启动 Puma Rails 网络服务器
在成功启动 Puma Rails Web 服务器之前,您需要在系统上安装 Yarn。您可以通过以下命令集在 Debian 上安装 Yarn:
curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
进而,
sudo apt-get upate
sudo apt install --no-install-recommends yarn
另一个先决条件是通过 Rails 安装 WebPacker,如下所示:
完成应用程序设置后,请输入以下命令以启动默认的 Puma Web 服务器:
rails s -b localhost -p 8080
或者在我们的例子中,
rails s -b 127.0.0.1 -p 8080
执行此命令后,您的第一个 Rails 应用程序将在本地主机的端口 8080 上运行。
第 5 步:打开默认的 Rails 项目主页
您可以通过在 Web 浏览器之一中输入 URL 来查看在默认 Rails 项目主页上成功托管的数据库:
http://localhost:8080/
您现在可以在这个简单的应用程序上执行任何 CRUD 操作。继续阅读本文,以使您的应用程序更具交互性。
4. 使用 Rails 上的 PostgreSQL 数据库创建简单的 CRUD
让我们通过实现 CRUD(创建、读取、更新、删除)接口来使我们的应用程序更具交互性。
第 1 步:在 Rails 中创建脚手架
运行以下命令以在 Rails 应用程序文件夹中创建脚手架
rails g scaffold Post title:string body:text
然后通过运行以下命令迁移数据库:
rake db:migrate
步骤 2:在 Puma Rails Web 服务器上运行应用程序
接下来,通过以下命令再次运行 Puma Web 服务器,在本地主机上运行您的应用程序:
rails s -b localhost -p 8080
您还可以使用您的本地主机 IP,就像我们的上述命令一样:
rails s -b 127.0.0.1 -p 8080
第 3 步:打开 Rails 项目中的“帖子”页面
您可以通过在 Web 浏览器之一中输入 URL 来查看已成功托管在 Rails 项目页面上的数据库:
http://localhost:8080/posts/
或者像我们一样使用本地主机IP:
http://127.0.0.1:8080/posts
您将能够看到一个简单的 CRUD 界面,通过该界面您可以创建、编辑、显示和销毁帖子。
当我使用“新帖子”链接创建帖子时,我的帖子页面现在如下所示: