持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第22天,点击查看活动详情
一、前言
本篇文章将以云服务器为例,在Linux配置 Ruby On Rails 环境。
首先来了解一下几个关键名词:
rvm 是 Ruby 的版本管理工具,当安装了多个版本的 Ruby 时可以通过版本管理工具进行切换版本以及设置默认版本等,还安装一些第三方的插件。类似 Python 中的 pyenv。
bundle 相当于多个RubyGems批处理运行。在配置文件gemfilel里说明你的应用依赖哪些第三方包,他自动帮你下载安装多个包,并且会下载这些包依赖的包。
RubyGems 是一个方便而强大的Ruby程序包管理器( package manager),类似RedHat的RPM.它将一个Ruby应用程序打包到一个gem里,作为一个安装单元。无需安装,最新的Ruby版本已经包含RubyGems了,在终端使用的gem命令,是指通过RubyGems管理Gem包。
Gem 是封装起来的Ruby应用程序或代码库。
Gemfile 定义你的应用依赖哪些第三方包,bundle根据该配置去寻找这些包。相当于 maven 的 pom.xml。
进入 Rails 官网中 Ruby on Rails Guides (v6.0.5)
点击 Getting Started with Rails,在 3.1 Installing Rails 节中提到安装 Rails 前需要安装 Ruby、SQLite3、Node.js、Yarn。
二、RVM 安装 Ruby
安装 rvm
rvm 官网中提到了安装的方式
进入云服务器,执行以下命令
curl -sSL https://get.rvm.io | bash -s stable
执行安装过程中提示的命令
command curl -sSL https://rvm.io/pkuczynski.asc | gpg2 --import -
command curl -sSL https://rvm.io/mpapis.asc | gpg2 --import -
此时再次执行安装 rvm 的命令时会出现等待时间较长或者超时的现象,需要修改/etc/hosts 文件,增加以下内容
199.232.28.133 raw.githubusercontent.com
保存之后,再次执行安装 rvm 的命令
curl -sSL https://get.rvm.io | bash -s stable
提示 rvm 安装成功,查看版本号以及可以安装的库
切换 rvm 镜像源为国内镜像
sed -i 's!cache.ruby-lang.org/pub/ruby!ruby.taobao.org/mirrors/ruby!' $rvm_path/config/db
使用 rvm 安装 Ruby
使用 rvm 安装ruby
rvm install 2.6.6
安装过程特别慢,需要多次执行安装命令才能成功安装,rubyGems 也会一并安装,无须单独安装
# 使用固定的 ruby 版本
rvm use 2.6.6
# 设置默认的 ruby 版本
rvm use 2.6.6 --default
查看并切换gem的源
三、RBENV 安装 Ruby
Ruby 官网中在 Download 页面也给出了使用 rbenv 工具来安装 Ruby 的方式。
需要注意的是在安装 rbenv 之前要卸载 rvm,安装步骤如下:
# 下载安装 rbenv
yum install rbenv
# 初始化 rbenv
rbenv init
curl -fsSL https://github.com/rbenv/rbenv-installer/raw/main/bin/rbenv-doctor | bash
安装完成之后可以通过 rbenv -v 来查看安装的版本,之后就可以通过 rbenv 来安装 Ruby,安装步骤如下:
# 查看可以安装的 Ruby 版本
rbenv install -L
# 安装指定的 Ruby 版本
rbenv install 2.6.6
rbenv 还包含了一些其他的常用命令
# 设置当前项目的 Ruby 版本
rbenv local 2.6.6
# 设置全局的 Ruby 版本
rbenv global 2.6.6
卸载 rbenv 可以通过 yum uninstall rbenv 进行。