如何在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权限
我们将要做什么?
- 安装RVM(Ruby版本管理器)
- 设置Ruby
- 安装Nodejs
- 配置Ruby Gem
- 安装Ruby on Rails
- 为Rails开发设置PostgreSQL数据库
- 使用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命令来管理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版本。
第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 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'角色。
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。
打开Web浏览器,在地址栏中键入服务器IP地址。
您将获得默认的rails项目主页,如下所示。
接下来,我们将测试在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表单。
以下是创建简单帖子后的结果。
在Ubuntu 18.04 LTS上使用PostgreSQL数据库安装Ruby on Rails已成功完成。