CentOS 系统中 Ruby 2.3 的安装与配置指南
在 CentOS 系统中部署 Ruby 应用时,Ruby 2.3 因其稳定性和对旧版本应用的兼容性,仍是许多开发者的选择,本文将详细介绍如何在 CentOS 上安装、配置及管理 Ruby 2.3,涵盖源码编译、RVM 工具链使用等核心步骤,帮助用户高效完成环境搭建。
前置准备:系统环境检查
在开始安装前,需确保系统满足基础依赖要求,以 CentOS 7 为例,执行以下命令更新系统并安装编译工具:
sudo yum update -y sudo yum groupinstall "Development Tools" -y sudo yum install openssl-devel readline-devel zlib-devel bzip2-devel libffi-devel -y
这些依赖包为 Ruby 源码编译提供必要的库支持,避免后续因缺少组件导致编译失败。
通过 RVM 安装 Ruby 2.3(推荐方式)
RVM(Ruby Version Manager)是管理多版本 Ruby 的便捷工具,适合需要切换版本的场景,以下是具体操作步骤:
安装 RVM
执行官方安装脚本(需确保网络连通):gpg --keyserver hkp://pool.sks-keyservers.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB curl -sSL https://get.rvm.io | bash -s stable source ~/.rvm/scripts/rvm
安装完成后,验证 RVM 版本:
rvm -v
,若输出类似rvm 1.x.x
则表示安装成功。安装 Ruby 2.3
使用 RVM 安装指定版本 Ruby,并设置默认环境:rvm install 2.3.8 # 指定安装 2.3.8 版本(最新补丁版) rvm use 2.3.8 --default # 设置为默认 Ruby 环境
安装过程会自动处理依赖并编译源码,耗时约 5-10 分钟(取决于服务器性能)。
验证安装
检查 Ruby 版本及 gem 环境是否正常:ruby -v # 输出应为 "ruby 2.3.8p459 (2018-04-16 revision 65511) [x86_64-linux]" gem env # 查看 gem 配置路径等信息
源码编译安装(备用方案)
若需更精细的定制化安装(如调整编译参数),可选择源码编译方式:
下载源码包
从 Ruby 官方镜像站获取 2.3.8 源码:wget https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.8.tar.gz tar -xzvf ruby-2.3.8.tar.gz && cd ruby-2.3.8
配置与编译
执行 configure 脚本并编译安装(可添加--prefix=/usr/local/ruby23
自定义安装路径):./configure --disable-install-rdoc # 关闭文档安装以节省空间 make -j$(nproc) # 并行编译加速 sudo make install
配置环境变量
将 Ruby 可执行文件路径加入系统 PATH:echo 'export PATH="/usr/local/ruby23/bin:$PATH"' >> ~/.bashrc source ~/.bashrc
验证安装:
ruby -v
应显示目标版本号。
关键配置与管理技巧
安装完成后,需进行必要的环境优化以确保应用稳定运行:
配置项 | 操作命令 | 说明 |
---|---|---|
更换 gem 源 | gem sources --add https://gems.ruby-china.com/ --remove https://rubygems.org/ | 加速国内 gem 包下载 |
安装 Bundler | gem install bundler -v 1.17.3 | 管理 Ruby 项目依赖 |
启用 RVM 自动加载 | 添加 source ~/.rvm/scripts/rvm 到 ~/.bashrc 或 ~/.zshrc | 登录时自动初始化 RVM |
建议定期更新 Ruby 补丁版本(如从 2.3.7 升级到 2.3.8),可通过 rvm upgrade 2.3.7 2.3.8
完成;若需卸载旧版本,使用 rvm remove 2.3.7
即可。
常见问题与解决方案
Q1:安装后执行 ruby -v
提示“command not found”怎么办?
原因:环境变量未正确配置,或 RVM 未初始化。
解决方法:
- 若使用 RVM,确保已执行
source ~/.rvm/scripts/rvm
; - 若手动编译安装,检查
/etc/profile
或~/.bashrc
中 PATH 变量是否包含 Ruby 安装目录(如/usr/local/ruby23/bin
); - 重启终端或执行
source ~/.bashrc
使配置生效。
Q2:gem 安装插件时报错“make: *** [static] Error 1”如何处理?
原因:缺少编译依赖或内存不足。
解决方法:
- 安装缺失的开发包:
sudo yum install gcc-c++ make
; - 增加交换分区(临时解决内存不足):
sudo dd if=/dev/zero of=/swapfile bs=1G count=2 && sudo mkswap /swapfile && sudo swapon /swapfile
; - 尝试降低 gem 编译并行度:
gem install xxx -v x.x.x -- --with-cflags="-O2"
。
通过以上步骤,即可在 CentOS 系统中顺利完成 Ruby 2.3 的安装与配置,无论是通过 RVM 管理多版本,还是源码编译实现定制化需求,都能满足不同场景下的开发运维需求。
【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!
发表回复