CentOS系统如何安装Ruby 2.3版本?

CentOS 系统中 Ruby 2.3 的安装与配置指南

在 CentOS 系统中部署 Ruby 应用时,Ruby 2.3 因其稳定性和对旧版本应用的兼容性,仍是许多开发者的选择,本文将详细介绍如何在 CentOS 上安装、配置及管理 Ruby 2.3,涵盖源码编译、RVM 工具链使用等核心步骤,帮助用户高效完成环境搭建。

CentOS系统如何安装Ruby 2.3版本?

前置准备:系统环境检查

在开始安装前,需确保系统满足基础依赖要求,以 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 的便捷工具,适合需要切换版本的场景,以下是具体操作步骤:

  1. 安装 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 则表示安装成功。

  2. 安装 Ruby 2.3
    使用 RVM 安装指定版本 Ruby,并设置默认环境:

    rvm install 2.3.8  # 指定安装 2.3.8 版本(最新补丁版)
    rvm use 2.3.8 --default  # 设置为默认 Ruby 环境

    安装过程会自动处理依赖并编译源码,耗时约 5-10 分钟(取决于服务器性能)。

    CentOS系统如何安装Ruby 2.3版本?

  3. 验证安装
    检查 Ruby 版本及 gem 环境是否正常:

    ruby -v  # 输出应为 "ruby 2.3.8p459 (2018-04-16 revision 65511) [x86_64-linux]"
    gem env  # 查看 gem 配置路径等信息

源码编译安装(备用方案)

若需更精细的定制化安装(如调整编译参数),可选择源码编译方式:

  1. 下载源码包
    从 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
  2. 配置与编译
    执行 configure 脚本并编译安装(可添加 --prefix=/usr/local/ruby23 自定义安装路径):

    ./configure --disable-install-rdoc  # 关闭文档安装以节省空间
    make -j$(nproc)  # 并行编译加速
    sudo make install
  3. 配置环境变量
    将 Ruby 可执行文件路径加入系统 PATH:

    echo 'export PATH="/usr/local/ruby23/bin:$PATH"' >> ~/.bashrc
    source ~/.bashrc

    验证安装:ruby -v 应显示目标版本号。

关键配置与管理技巧

安装完成后,需进行必要的环境优化以确保应用稳定运行:

CentOS系统如何安装Ruby 2.3版本?

配置项 操作命令 说明
更换 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 管理多版本,还是源码编译实现定制化需求,都能满足不同场景下的开发运维需求。

【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!

(0)
热舞的头像热舞
上一篇 2025-10-17 07:51
下一篇 2025-10-17 07:54

相关推荐

  • 如何配置服务器以关联Java项目并同步仓库?

    配置Java项目与服务器关联需要以下步骤:确保已安装Java开发环境并设置好环境变量。在项目中添加服务器运行时环境,如Tomcat或Jetty。配置项目的构建路径,使其包含Java库和依赖项。设置项目部署参数,包括上下文路径和访问URL。完成这些步骤后,即可将Java项目部署到服务器上运行。

    2024-08-03
    005
  • 服务器和客户端c语言代码_C#语言

    服务器端(C语言):,“c,#include,#include,#include,#include,#include,#include,#include,,#define PORT 8080,,int main() {, int server_fd, new_socket;, struct sockaddr_in address;, int opt = 1;, int addrlen = sizeof(address);, , if ((server_fd = socket(AF_INET, SOCK_STREAM, 0)) == 0) {, perror(“socket failed”);, exit(EXIT_FAILURE);, }, , if (setsockopt(server_fd, SOL_SOCKET, SO_REUSEADDR | SO_REUSEPORT, &opt, sizeof(opt))) {, perror(“setsockopt”);, exit(EXIT_FAILURE);, }, , address.sin_family = AF_INET;, address.sin_addr.s_addr = INADDR_ANY;, address.sin_port = htons(PORT);, , if (bind(server_fd, (struct sockaddr *)&address, sizeof(address))˂ 0) {, perror(“bind failed”);, exit(EXIT_FAILURE);, }, , if (listen(server_fd, 3)˂ 0) {, perror(“listen”);, exit(EXIT_FAILURE);, }, , if ((new_socket = accept(server_fd, (struct sockaddr *)&address, (socklen_t*)&addrlen))˂ 0) {, perror(“accept”);, exit(EXIT_FAILURE);, }, , close(server_fd);, , return 0;,},`,,客户端(C#语言):,`csharp,using System;,using System.Net.Sockets;,using System.Text;,,class Program {, static void Main() {, TcpClient client = new TcpClient();, client.Connect(“127.0.0.1”, 8080);, NetworkStream stream = client.GetStream();, byte[] data = Encoding.ASCII.GetBytes(“Hello Server!”);, stream.Write(data, 0, data.Length);, data = new byte[256];, String responseData = String.Empty;, Int32 bytes = stream.Read(data, 0, data.Length);, responseData = Encoding.ASCII.GetString(data, 0, bytes);, Console.WriteLine(“Received: {0}”, responseData);, stream.Close();, client.Close();, },},“

    2024-06-29
    007
  • CentOS服务器磁盘划分的最佳实践方案是什么?

    在部署 CentOS 服务器时,磁盘划分是奠定系统稳定性、性能与未来可扩展性的基石,一个合理的分区方案不仅能优化系统运行,还能在遇到故障或数据增长时,简化管理与维护的复杂度,本文将深入探讨 CentOS 磁盘划分的核心原则、推荐方案以及实践要点,帮助您构建一个健壮、高效的系统环境,核心概念:理解分区与挂载在动手……

    2025-10-04
    003
  • CentOS系统如何开启root用户直接登录?

    在CentOS系统中,root用户是拥有最高权限的管理员账户,能够执行所有系统操作,包括安装软件、修改系统配置、管理用户等,直接使用root账户登录系统存在严重的安全风险,一旦账户密码泄露或系统遭受攻击,攻击者将完全控制服务器,合理配置root登录权限并采取安全防护措施至关重要,本文将详细介绍CentOS系统中……

    2025-10-01
    003

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

广告合作

QQ:14239236

在线咨询: QQ交谈

邮件:asy@cxas.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信