在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,您可以通过搜索Application Launcher来访问终端应用程序,如下所示:

可以通过键盘上的Super / Windows键访问应用程序启动器。

在Debian 10上安装Ruby on Rails(RoR)

为了安装Ruby on Rails,首先需要在系统上安装和配置一些必备软件的最新版本,例如:

  • RVM-Ruby版本管理器
  • 红宝石
  • Node.js- 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

安装GPG密钥

步骤2:安装Curl

我们将通过Curl安装RVM,因为默认版本的Debian默认没有提供RVM,所以我们需要通过以下命令以sudo的形式安装它:

$ sudo apt-get install curl

请注意,只有授权用户可以在Debian上添加/删除和配置软件。

安装卷发

广告

广告

系统将提示您输入Y / n选项以确认安装。请输入Y继续,然后Curl将安装在您的系统上。

步骤3:安装RVM稳定版

现在运行以下命令以安装RVM的最新稳定版本。

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

此命令还将自动安装安装RVM所需的所有必需软件包。

安装RVM

该过程将花费一些时间,具体取决于您的Internet速度,之后将在您的系统上安装RVM。

步骤4:设置RVM源文件夹

请注意,RVM安装输出的最后几行建议运行以下命令:

$ source /home/[username]/.rvm/scripts/rvm

这用于将源文件夹设置为输出中提到的文件夹。您需要运行此命令才能开始使用RVM。

设置源时,您将获得以下输出:

设置RVM源文件夹

现在已设置RVM的源。您可以通过以下命令检查系统上安装的RVM的版本号:

$ rvm --version

检查RVM版本

这也可以确保在您的系统上确实安装了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版本

该过程可能会花费一些时间,具体取决于您的Internet速度,之后将在您的系统上安装选定数量的Ruby。

步骤3:将Ruby的最新版本设置为默认版本

以下rvm命令将帮助您将Ruby的最新安装版本设置为系统默认值:

$ rvm --default use ruby-2.7

设置默认的Ruby版本

您可以看到现在我的系统将使用Ruby 2.7.0作为默认Ruby版本

发生错误时:

运行以上命令后,您可能还会获得以下输出:

红宝石错误

在这种情况下,运行以下命令以允许登录shell:

修复Ruby错误

然后,再次运行以下命令来设置Ruby版本:

$ rvm --default use ruby-2.7

也可以通过运行以下命令来验证此默认版本:

$ ruby -v

检查Ruby版本

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 -

安装Nodejs

现在,通过以下apt命令以sudo安装最新版本的Node.js:

$ sudo apt-get install -y nodejs

使用apt安装Nodejs

最新的可用版本的Nodejs 10将安装在您的系统上

步骤2:安装gcc编译器

gcc编译器是在进行任何Rails开发之前需要安装的另一个先决条件。使用以下命令作为sudo进行安装:

$ sudo apt-get install gcc g++ make

安装gcc和编译器工具

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

安装Ruby on Rails

根据您的Internet连接,安装过程可能需要一些时间。

安装完成后,运行以下命令以查看系统上安装的Rails版本。

$ rails -v

检查Rails版本

该命令还可以验证Ruby on Rails确实安装在您的系统上。

Rails开发

Ruby on Rails支持许多数据库,例如SQLite,MySQL和PostgreSQL。在本节中,我们将说明如何从PostgreSQL进行Rails开发开始,其中包括:

  • 安装PostgreSQL数据库
  • 配置PostgreSQL和创建角色
  • 您的First Rails应用程序
  • 在Rails上使用PostgreSQL数据库创建一个简单的CRUD

1.安装和设置PostgreSQL数据库

步骤1:安装PostgreSQL

使用以下apt命令作为sudo来安装PostgreSQL数据库和一些其他必需的软件包:

$ sudo apt-get install postgresql postgresql-contrib libpq-dev -y

安装PostghreSQL

步骤2:启动并启用Postgresql服务

一旦安装了PostgreSQL,您需要通过以下命令启动postgresql服务:

$ systemctl start postgresql

启动PostgreSQL

系统将提示您进行身份验证对话框,因为只有授权用户才能在Debian上启用服务。输入管理员密码,然后单击“身份验证”按钮,随后服务将启动。

下一步是通过以下命令启用服务:

$ systemctl enable postgresql

启用PostgreSQL

系统将多次通过类似的身份验证对话框提示您;每次输入管理员密码,然后单击“身份验证”按钮,之后将启用该服务。

步骤3:验证安装

请运行以下命令以查看PostgreSQL安装的详细状态报告:

$ dpkg --status postgresql

检查postgres状态

2.配置PostgreSQL并创建角色

PostgreSQL应用程序可以由用户或角色创建。默认情况下,存在“ postgres”用户,该用户是超级用户,它可以创建和迁移数据库,还可以管理其他用户角色。

最初,您可以通过以下命令在PostgreSQL上以sudo身份登录:

$ sudo -u postgres psql

登录到postgres

您可以在此处更改postgres的密码,如下所示:

postgress=# password postgres

设置postgres密码

创建角色

超级用户可以通过以下命令创建新的用户角色:

创建角色“ role_name”,并创建一个登录密码“’password’”’;

例:

postgress=# create role dev_rails with createdb login password 'rockon123' ;

我们正在创建一个名为“ dev_rails”的角色,该用户将为我们的第一个Rails应用程序创建一个数据库。

创建一个角色

超级用户可以按以下方式查看PostgreSQL上现有角色的列表:

postgress=# du

PostgreSQL du命令

使用Ctrl + z退出PostgreSQL。

3.您的第一个Rails应用程序

现在我们将使用PostgreSQL作为默认数据库创建第一个Rails应用程序,这涉及以下步骤:

步骤1:创建一个新的应用程序

通过以下命令,以“ firstapp”或任何其他名称创建一个新项目,并将PostgreSQL指定为数据库,如下所示:

$ rails new firstapp -d postgresql

第一个Ruby on Rails应用程序

这将在您的主文件夹中创建一个项目文件夹,如下所示:

$ ls

应用程序存根已创建

步骤2:配置Rails项目以合并PostgreSQL用户角色

现在我们希望我们在PostgreSQL中创建的用户角色能够在Rails应用程序中创建数据库。为此,我们需要编辑/ config /文件夹中新创建的应用程序文件夹中的database.yml文件。

移至第一个应用程序,然后移至config文件夹,如下所示:

$ cd firstapp/config/

在这里您将看到database.yml文件。您可以通过自己喜欢的文本编辑器编辑此文件。我们将使用以下命令通过Nano编辑器进行编辑:

$ nano database.yml

Rails应用程序的数据库配置

在此文件中,您将主要看到三个部分:

  • 发展历程
  • 测试
  • 生产

我们将需要配置文件的“开发”和“测试”部分。

在“开发”部分中进行以下配置

数据库:firstapp_development

用户名:dev_rails

密码:rockon123

主机:localhost

端口:5432

数据库

并且,“测试”部分中的以下内容:

数据库:firstapp_test

用户名:dev_rails

密码:rockon123

主机:localhost

端口:5432

注意: 请确保语法正确,每行前应有2个空格和 标签。

按Ctrl + X,然后按Y,然后按Enter,保存文件。

步骤3:生成然后迁移数据库

通过以下rails命令生成数据库:

$ rails db:setup

您可能在Debian上收到以下错误:

rails db:setup

因此,运行上面的屏幕截图中提到的命令:

捆绑锁

然后再次运行“ 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服务器

执行此命令后,第一个Rails应用程序将在本地主机上的端口8080上运行。

步骤5:打开默认的Rails Project主页

您可以通过在以下Web浏览器之一中输入URL来查看成功托管在默认Rails Project主页上的数据库:

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 Server上运行应用程序

接下来,通过以下命令再次运行Puma Web服务器,在本地主机上运行应用程序:

$ rails s -b localhost -p 8080

您也可以使用本地主机IP,例如我们的上述命令:

$ rails s -b 127.0.0.1 -p 8080

测试Rails应用

第3步:在Rails项目中打开“帖子”页面

您可以通过在一种Web浏览器中输入URL来查看数据库是否已成功托管在Rails Project页面上:

http:// localhost:8080 / posts /

或使用像我们这样的本地主机IP:

http://127.0.0.1:8080/posts

您将能够看到一个简单的CRUD界面,通过它可以创建,编辑,显示和销毁帖子。

当我使用“新帖子”链接创建帖子时,我的帖子页面如下所示:

测试岗位

在Debian 10上安装和配置Ruby on Rails

Sidebar