更新时间:2023-01-16 16:23:58浏览次数:785+次
本文介绍如何在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等,直到自动完成:
更新系统环境:
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
样本输出:
验证是否可以使用URL从浏览器访问应用程序,地址格式为http://IP_Address:3000,如下图所示:
至此,在Rocky Linux 9/AlmaLinux 9上安装和配置Ruby on Rails成功完成。
相关资讯