当前位置: 首页 > news >正文

Ubuntu安装指定ruby版本

在 Ubuntu 上安装指定版本的 Ruby,可以使用版本管理工具如 rbenvRVM,因为 Ubuntu 默认的软件仓库可能只提供有限的 Ruby 版本。以下是使用 rbenv 的步骤,这是一个轻量且常用的工具:


使用 rbenv 安装指定 Ruby 版本

1. 安装依赖

首先安装编译 Ruby 所需的依赖库:

sudo apt update
sudo apt install -y git curl libssl-dev libreadline-dev zlib1g-dev autoconf bison build-essential libyaml-dev libncurses5-dev libffi-dev libgdbm-dev
2. 安装 rbenv

通过以下命令安装 rbenv

curl -fsSL https://github.com/rbenv/rbenv-installer/raw/main/bin/rbenv-installer | bash
3. 配置 rbenv

rbenv 添加到你的 shell 环境中。编辑 ~/.bashrc 文件:

echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(rbenv init -)"' >> ~/.bashrc
source ~/.bashrc

验证安装:

rbenv --version
4. 安装 ruby-build

ruby-buildrbenv 的插件,用于安装 Ruby 版本:

git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build
5. 查看可用 Ruby 版本

列出所有可安装的 Ruby 版本:

rbenv install -l
6. 安装指定 Ruby 版本

选择你需要的版本,例如安装 Ruby 3.2.2:

rbenv install 3.2.2

安装过程可能需要几分钟,取决于你的网络和系统性能。

7. 设置 Ruby 版本
  • 设置全局版本(所有终端默认使用):
    rbenv global 3.2.2
    
  • 或设置本地版本(仅当前目录使用):
    rbenv local 3.2.2
    
8. 验证安装

检查当前使用的 Ruby 版本:

ruby --version

如果显示 ruby 3.2.2(或你指定的版本),说明成功。

9. 安装 gem

安装完指定版本的 Ruby 后,gem 会自动可用。你可以直接使用:

gem install <包名>

使用 RVM(替代方法)

如果你更喜欢 RVM,步骤如下:

  1. 安装 RVM:

    curl -sSL https://get.rvm.io | bash -s stable
    source ~/.rvm/scripts/rvm
    
  2. 安装依赖:

    sudo apt install -y gnupg2
    rvm requirements
    
  3. 安装指定 Ruby 版本:

    rvm install 3.2.2
    
  4. 使用指定版本:

    rvm use 3.2.2
    
  5. 验证:

    ruby --version
    

注意事项

  • rbenv 更轻量,适合简单需求;RVM 功能更强大,但稍复杂。
  • 如果遇到网络问题,可能需要科学上网来加速下载。
  • 安装完成后,记得检查 gem 是否正常工作:
    gem --version
    
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.dtcms.com/a/103022.html

相关文章:

  • 困于环中的机器人
  • 【2025 年华为杯广东工业大学程序设计竞赛(同步赛)】部分题解
  • JavaScript函数知识点总结
  • 【力扣hot100题】(027)两数相加
  • CST学习笔记(三)MATLAB与CST联合仿真-远场数据批量导出
  • 【学Rust写CAD】22 双圆径向渐变的结构体(two_circle_radial_gradient.rs)
  • 现代简洁线条视觉冲击几何风psai无衬线英文字体安装包 Adobe Fonts – Transducer Font Family
  • RK3588使用笔记:ubuntu/麒麟系统功能测试程序
  • 博客学术汇测试报告
  • Mamba4D阅读
  • 人工智能大模型-数据预处理-文本数据预处理-图像数据预处理
  • HCIA-数据通信datacom认证
  • Cookie与Token详解及测试需重点关注点
  • JxBrowser 8.5.1 版本发布啦!
  • npu踩坑记录
  • C++设计模式-迭代器模式:从基本介绍,内部原理、应用场景、使用方法,常见问题和解决方案进行深度解析
  • AI提示语:个人学习路线规划
  • Linux基础入门:从零开始掌握Linux命令行操作
  • 【Feign】⭐️使用 openFeign 时传递 MultipartFile 类型的参数参考
  • 【分享】内外网文件摆渡系统:让数据传输更安全更可靠
  • ORB-SLAM学习感悟记录
  • Kotlin 基础语法解析
  • 排序算法3-交换排序
  • 红宝书第二十三讲:详解DOM事件模型:冒泡与事件委托
  • QCustomPlot拖动绘制变慢问题解决方案
  • LM2576手册解读:高效降压型 DC - DC 转换器的全面解析
  • LabVIEW故障诊断数据处理方法
  • Elasticsearch 基本概念与增删改查
  • 【FreeRTOS】裸机开发与操作系统区别
  • 整数二分·二分的思想与模板·经典二分题:数的范围