在Rocky Linux 9/AlmaLinux 9上安装Ruby on Rails

本文介绍如何在Rocky Linux 9/AlmaLinux 9系统上安装Ruby on Rails的方法。可先运行sudo dnf update -y命令将系统和软件包更新到最新可用版本,然后安装所需要的软件包,请运行sudo yum install -y git gnupg2 git-core zlib zlib-devel gcc-c++ patch readline readline-devel libffi-devel openssl-devel make bzip2 autoconf automake libtool bison curl tar sqlite-devel命令,接下来,按以上步骤操作即可在Rocky Linux 9/AlmaLinux 9上成功安装好Ruby on Rails。

详细安装方法

1、在Rocky Linux 9/AlmaLinux 9上安装Ruby on Rails

在本文中,我将介绍如何在RockyLinux9/AlmaLinux9上安装Ruby的3种方法。这些方法包括:使用Appstream存储库、RVM、及rbenv。

选项1、使用AppStream Repository安装Ruby

Ruby存在于Rocky Linux 9/AlmaLinux 9 Appstream存储库中,可以使用以下命令安装:

sudo dnf install ruby ruby-devel

依赖关系树:

Transaction Summary

Install  10 Packages

Total download size: 4.4 M

Installed size: 16 M

Is this ok [y/N]: y

完成后,验证安装:

$ ruby --version

ruby 3.0.3p157

选项2、使用RVM安装Ruby

Ruby版本管理器通常缩写为RVM,它是一种通用的CLI工具,可以更轻松地安装和管理Ruby环境。

要使用此方法,我们需要下载并安装RVM启动脚本:

curl -sSL https://rvm.io/pkuczynski.asc | gpg2 --import -

curl -sSL https://rvm.io/mpapis.asc | gpg2 --import -

sudo dnf -y install tar

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

会有安装的输出信息,如GPG verified '/home/rocky9/.rvm/archives/rvm-1.29.12.tgz'、Installing RVM to /home/rocky9/.rvm/、Adding rvm PATH line to /home/rocky9/.profile /home/rocky9/.mkshrc /home/rocky9/.bashrc /home/rocky9/.zshrc等,直到自动完成:

在Rocky Linux 9/AlmaLinux 9上安装Ruby on Rails

更新系统环境:

source /etc/profile.d/rvm.sh

现在重新加载RVM:

rvm reload

安装所有必需的软件包:

$ rvm requirements

Checking requirements for centos.

Installing requirements for centos.

Installing required packages: patch, autoconf, automake, bison, gcc-c++, libffi-devel, libtool, make, patch, readline-devel, ruby, sqlite-devel, zlib-devel, glibc-headers, glibc-devel, openssl-devel............\

Requirements installation successful.

列出可安装版本:

$ rvm list known

# MRI Rubies

[ruby-]1.8.6[-p420]

[ruby-]1.8.7[-head] # security released on head

[ruby-]1.9.1[-p431]

[ruby-]1.9.2[-p330]

[ruby-]1.9.3[-p551]

[ruby-]2.0.0[-p648]

[ruby-]2.1[.10]

[ruby-]2.2[.10]

[ruby-]2.3[.8]

[ruby-]2.4[.10]

[ruby-]2.5[.8]

[ruby-]2.6[.6]

[ruby-]2.7[.2]

[ruby-]3[.0.0]

ruby-head

# for forks use: rvm install ruby-head-<name> --url https://github.com/github/ruby.git --branch 2.2

# JRuby

jruby-1.6[.8]

jruby-1.7[.27]

jruby-9.1[.17.0]

jruby[-9.2.14.0]

jruby-head

安装Ruby的首选版本,示例安装:

rvm install ruby <VERSION>

检查Ruby版本:

$ ruby --version

ruby 3.0.3p157

选项3、使用rbenv安装Ruby

您还可以使用rbenv在Rocky Linux 9/AlmaLinux 9上安装Ruby。但首先,导航到用户主目录:

sudo dnf -y install git

cd ~

现在git克隆rbenv并设置PATH变量:

git clone https://github.com/rbenv/rbenv.git .rbenv

echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile

echo 'eval "$(rbenv init -)"' >> ~/.bash_profile

还有git clone Ruby-build并设置PATH变量:

git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build

echo 'export PATH="$HOME/.rbenv/plugins/ruby-build/bin:$PATH"' >> ~/.bash_profile

source ~/.bash_profile

现在列出Ruby的可用版本:

$ rbenv install -l

2.6.10

2.7.6

3.0.4

3.1.2

jruby-9.3.7.0

mruby-3.1.0

picoruby-3.0.0

rbx-5.0

truffleruby-22.2.0

truffleruby+graalvm-22.2.0

Only latest stable releases for each Ruby implementation are shown.

Use 'rbenv install --list-all / -L' to show all local versions.

安装首选的Ruby版本:

rbenv install -v 3.1.2

rbenv rehash

查看已安装的Ruby版本:

$ rbenv versions

3.1.2

2、在Rocky Linux 9/AlmaLinux 9上设置Ruby版本

可以在Rocky Linux 9/AlmaLinux 9系统上安装多个Ruby版本。要设置要使用的首选版本,可以使用RVM或rbenv。

对于RVM,可以使用以下命令列出已安装的版本:

$ rvm list

 * ruby-3.0.3 [ x86_64 ]

=> ruby-3.1.2 [ x86_64 ]

# => - current

# =* - current && default

#  * - default

列出后,设置要使用的默认版本,如下所示:

$ rvm use 3.1.2 --default

Using /home/rocky9/.rvm/gems/ruby-3.1.2

对于rbenv,Ruby的可用版本如下:

$ rbenv versions

3.1.2

全局版本集上有一个*。您可以使用以下命令设置所需的默认版本:

rbenv global 3.1.2

通过检查Ruby版本来验证所做的更改:

$ ruby -v

ruby 3.1.2p20

3、在Rocky Linux 9/AlmaLinux 9上安装Rails

安装Ruby Development包:

sudo dnf install ruby-devel -y

一旦安装了Ruby,我们就可以轻松地将Rails安装为Gem。命令如下:

gem install rails

可以使用以下命令安装Rails的首选版本:

gem install rails –v [insert.number.version]

验证已安装的Rails版本:

$ rails -v

Rails 7.0.4

您还可以使用以下命令安装任何其他Gem,如bundler:

gem install bundler

4、测试Ruby on Rails功能

默认情况下,Rails附带sqlite3作为默认数据库。但是,在生产环境中不建议这样做。对于高流量的web应用程序,建议使用MySQL或PostgreSQL。

首先启用EPEL和PowerTools存储库:

sudo dnf install epel-release -y

sudo dnf config-manager --set-enabled crb

要安装MariaDB,请使用以下命令:

sudo dnf install -y mariadb-server mariadb mariadb-devel

我们已经为Rails安装了MariaDB-devel包。安装完成后,启动并启用服务:

sudo systemctl enable --now mariadb

强化实例:

$ sudo mysql_secure_installation

Enter current password for root (enter for none): Just press Enter

Switch to unix_socket authentication [Y/n] Y

Change the root password? [Y/n] Y

New password:  New-root-password

Re-enter new password: Re-enter New-root-password

Remove anonymous users? [Y/n] Y

Disallow root login remotely? [Y/n] Y

Remove test database and access to it? [Y/n] Y

Reload privilege tables now? [Y/n] Y

Thanks for using MariaDB!

安装mysql2扩展:

gem install mysql2

接下来,可以创建示例Rails应用程序。

现在我们将使用MariaDB数据库创建一个简单的Rails应用程序:

cd ~

rails new sampleapp -d mysql

cd sampleapp

创建数据库配置文件:

vim config/database.yml

对文件进行以下更改

default: &default

  adapter: mysql2

  encoding: utf8mb4

  pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>

  username: root

  password: password # Replace with MariaDB / MySQL user password

  socket: /var/lib/mysql/mysql.sock

现在使用命令创建一个数据库:

rake db:create

样本输出:

Created database 'sampleapp_development'

Created database 'sampleapp_test'

允许端口3000通过防火墙:

sudo firewall-cmd --add-port=3000/tcp --permanent

sudo firewall-cmd --reload

现在启动Rails应用程序:

rails server -b 0.0.0.0

样本输出:

在Rocky Linux 9/AlmaLinux 9上安装Ruby on Rails

验证是否可以使用URL从浏览器访问应用程序,地址格式为http://IP_Address:3000,如下图所示:

在Rocky Linux 9/AlmaLinux 9上安装Ruby on Rails

至此,在Rocky Linux 9/AlmaLinux 9上安装和配置Ruby on Rails成功完成。

栏目相关文章