如何在Ubuntu 18.04 LTS上安装Ruby on Rails

在本教程中,我将向您展示如何在Ubuntu 18.04 LTS上安装Ruby on Rails。我们将向您展示如何使用Postgre安装和配置Rails ...

如何在Ubuntu 18.04 LTS上安装Ruby on Rails

Ruby on Rails(RoR)是一个开源Web应用程序框架,在MIT许可下发布。 它是遵循MVC(模型 - 视图 - 控制器)概念的服务器端Web应用程序框架。

Rails为数据库,Web服务和Web页面提供默认结构。 超过3000名开发人员为Rails框架贡献了代码,并且有许多基于Rails的知名应用程序,例如Github,Airbnb,Soundcloud等。

在本教程中,我将向您展示在Ubuntu 18.04 LTS上安装Ruby on Rails的步骤。 我们将向您展示如何使用PostgreSQL数据库安装和配置Rails,以及如何使用Rails创建新的第一个项目。

先决条件

  • Ubuntu 18.04 LTS
  • Root权限

我们将要做什么?

  1. 安装RVM(Ruby版本管理器)
  2. 设置Ruby
  3. 安装Nodejs
  4. 配置Ruby Gem
  5. 安装Ruby on Rails
  6. 为Rails开发设置PostgreSQL数据库
  7. 使用Rails和PostgreSQL创建您的第一个应用程序

第1步 - 安装RVM(Ruby版本管理器)

RVM(Ruby Version Manager)是一个基于Bash和Ruby的命令行工具,用于管理ruby安装。 RVM允许您在一个系统上安装和配置多个ruby版本。

我们要做的第一步是使用安装程序脚本安装rvm软件包。

将rvm密钥添加到服务器。

gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 \
7D2BAF1CF37B13E2069D6956105BD0E739499BDB

通过运行以下命令安装rvm stable版本。

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

该命令将自动安装所需的软件包,并安装最新的稳定rvm版本。

安装完成后,运行以下命令。

source /usr/local/rvm/scripts/rvm

安装RVM

现在您可以使用rvm命令来管理ruby版本。

rvm version

第2步 - 设置Ruby最新版本

目前最新版本的ruby是Ruby 2.5.1,它将在rvm安装期间自动安装,此时系统上没有ruby软件包。

在此步骤中,我们将在Ubuntu系统上设置默认的ruby版本。

将rvm更新为最新的稳定版本。

rvm get stable --autolibs=enable
usermod -a -G rvm root

现在检查所有可用的ruby版本。

rvm list known

您将获得许多可用的ruby版本 - 使用rvm命令安装最新的稳定版本Ruby 2.5.1,如下所示。

rvm install ruby-2.5.1

完成所有安装后,将ruby 2.5.1作为Ubuntu系统的默认版本。

rvm --default use ruby-2.5.1

检查Ruby版本。

ruby -v

现在您将看到ruby 2.5.1是Ubuntu 18.04系统上的默认ruby版本。

设置Ruby最新版本

第3步 - 安装Nodejs

Ruby on Rails需要一个JavaScript运行时来编译Rails资产管道。 对于Ubuntu Linux上的Rails开发,最好安装和使用Nodejs作为Javascript运行时。

将nodejs nodesource存储库添加到系统。

curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -

使用下面的apt命令安装最新版本的nodejs 10和一些其他软件包。

sudo apt install -y nodejs
sudo apt install gcc g++ make

nodejs 10已经安装在Ubuntu 18.04系统上。

第4步 - 配置Ruby Gem

RubyGems是一个Ruby包管理器,附带gem命令行工具。 当我们在系统上安装Ruby时,它会自动安装。

将gem更新到最新版本并进行检查。

gem update --system
gem -v

注意:

这是可选的,我们可以禁用gem来安装每个ruby软件包安装的文档。 只需将配置添加到'.gemrc'配置文件即可。

echo "gem: --no-document" >> ~/.gemrc

第5步 - 安装Ruby on Rails

在本教程中,我们将使用最新的稳定的Ruby on Rails 5.2.0。 我们将使用gem ruby​​包管理器安装Rails。

使用以下命令安装Ruby on Rails 5.2.0。

gem install rails -v 5.2.0

安装完成后,请检查rails版本。

rails -v

以下应该是结果。

安装Ruby on Rails

Ruby on Rails 5.2.0已安装在Ubuntu 18.04 LTS上。

第6步 - 为Rails开发设置PostgreSQL数据库

默认情况下,Ruby on Rails使用SQLite数据库。 它支持许多数据库系统,包括MySQL,SQLite和PostgreSQL。 对于本指南,我们将使用PostgreSQL。

使用下面的apt命令安装PostgreSQL数据库。

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

完成所有安装后,启动Postgres服务并使其在系统引导时每次启动。

systemctl start postgresql
systemctl enable postgresql

接下来,我们将为Postgres用户配置密码,并为Rails安装创建新用户。

登录'postgres'用户并运行Postgres shell。

su - postgres
psql

使用以下查询更改Postgres密码。

\password postgres

输入密码,添加了postgres用户的密码。

现在我们将为rails安装创建一个新角色。 我们将创建一个名为'rails_dev'的新角色,具有创建数据库和密码'aqwe123'的特权。

运行下面的Postgres查询。

create role rails_dev with createdb login password 'aqwe123';

现在检查系统上的所有可用角色。

\du

您将在列表中获得'rails_dev'角色。

设置PostGres

Rails开发的PostgreSQL安装和配置已经完成。

第7步 - 使用Rails和PostgreSQL创建您的第一个应用程序

Ruby on Rails提供了一个命令行“rails”,用于引导我们的第一个rails应用程序。

通过在下面运行rails命令,使用默认数据库'PostgreSQL'创建一个新项目'myapp'。

rails new myapp -d postgresql

现在您将看到'myapp'目录,转到该目录并使用vim编辑器编辑数据库配置文件'database.yml'。

cd myapp/
vim config/database.yml

每个设置都有不同的配置部分 - 开发,测试和生产。

在开发部分中,取消注释这些行并更改值如下所示。

username: rails_dev
password: aqwe123
host: localhost
port 5423

对于测试部分,将这些配置粘贴到测试部分下。

  host: localhost
  port: 5432
  username: rails_dev
  password: aqwe123

保存并退出。

现在生成数据库并确保没有错误。

rails db:setup
rails db:migrate

完成所有设置后,使用以下命令启动默认的puma rails web服务器。

rails s -b 192.168.1.10 -p 8080

第一个rails项目将在IP地址'192.168.1.10'上运行,端口为8080。

创建Ruby应用程序

打开Web浏览器,在地址栏中键入服务器IP地址。

http://192.168.1.10:8080/

您将获得默认的rails项目主页,如下所示。

Ruby on Rails App正在运行

接下来,我们将测试在rails上使用PostgreSQL数据库创建简单的CRUD。

运行下面的rails命令。

rails g scaffold Post title:string body:text
rake db:migrate

再次运行puma Web服务器。

rails s -b 192.168.1.10 -p 8080

并使用以下URL打开Web浏览器。

http://192.168.1.10:8080/posts/

现在您将获得简单的CRUD表单。

用RoR编写的测试应用程序

以下是创建简单帖子后的结果。

在Ubuntu 18.04 LTS上使用PostgreSQL数据库安装Ruby on Rails已成功完成。