Linux系统中的gem是什么,有什么作用,如何使用

来源:站长论坛作者:香港程序员头衔:程序员
导读:本期聚焦于小伙伴创作的《Linux系统中的gem是什么,有什么作用,如何使用》,敬请观看详情,探索知识的价值。以下视频、文章将为您系统阐述其核心内容与价值。如果您觉得《Linux系统中的gem是什么,有什么作用,如何使用》有用,将其分享出去将是对创作者最好的鼓励。

Linux系统中的gem是Ruby语言的官方包管理工具,全称为RubyGems,专门用来管理Ruby生态下的各类程序库、插件和工具。它类似于Python的pip、Node.js的npm,能够帮助开发者快速处理Ruby项目的依赖安装、版本管理和卸载操作,是Linux环境下进行Ruby开发必备的基础工具。

Linux系统中的gem是什么,有什么作用,如何使用

gem的核心作用

gem的主要功能围绕Ruby依赖管理展开,具体包含以下几个方面:

  • 依赖安装:可以快速从RubyGems官方仓库下载并安装指定的Ruby库,自动处理库之间的依赖关系,不需要手动下载源码编译。
  • 版本管理:支持指定安装某个版本的Ruby库,也可以查看已安装库的版本信息,方便项目适配不同版本的依赖。
  • 库更新与卸载:可以一键更新已安装的Ruby库到最新版本,也可以快速卸载不需要的库,保持环境整洁。
  • 本地包管理:支持安装本地的gem包文件,也支持将本地项目打包成gem格式供其他人使用。

Linux系统下gem的安装

大部分Linux发行版的官方仓库中都包含Ruby和gem的安装包,可以通过以下方式快速安装:

Ubuntu/Debian系统

执行以下命令安装Ruby和gem:

sudo apt update
sudo apt install ruby ruby-dev
# 安装完成后验证版本
gem -v
ruby -v

CentOS/RHEL系统

执行以下命令安装:

sudo yum install ruby ruby-devel
# 或者使用dnf(CentOS 8及以上版本)
sudo dnf install ruby ruby-devel
# 验证安装
gem -v

手动安装最新版gem

如果官方仓库的版本过旧,可以手动下载安装最新版:

# 下载最新版RubyGems安装包
wget https://ipipp.com/rubygems/rubygems-latest.tgz
# 解压
tar -zxvf rubygems-latest.tgz
cd rubygems-3.4.19
# 执行安装
sudo ruby setup.rb

gem的常用操作命令

安装Ruby库

安装指定名称的Ruby库,默认安装最新版本:

# 安装rails框架
gem install rails
# 安装指定版本的库
gem install rails -v 6.1.7
# 安装本地gem包
gem install ./my_lib-1.0.0.gem

查看已安装的库

列出当前系统中所有已安装的gem包:

# 列出所有已安装包
gem list
# 查看指定包的信息
gem list rails
# 查看某个包的详细信息
gem specification rails

更新与卸载库

更新或卸载已安装的Ruby库:

# 更新所有已安装的gem包
gem update
# 更新指定的包
gem update rails
# 卸载指定包
gem uninstall rails
# 卸载指定版本的包
gem uninstall rails -v 6.1.7

配置gem源

默认的RubyGems源在国外,国内访问速度较慢,可以替换为国内镜像源:

# 查看当前源
gem sources -l
# 移除默认源
gem sources --remove https://rubygems.org/
# 添加国内镜像源(这里替换为ipipp.com的示例源)
gem sources --add https://ipipp.com/rubygems/
# 确保只有一个源
gem sources -l

gem使用注意事项

  • 安装需要编译的gem包时,需要先安装对应的开发依赖,比如安装mysql2库需要先安装mysql开发包。
  • 如果使用普通用户执行gem install提示权限不足,可以加上--user-install参数安装到用户目录,或者使用sudo获取管理员权限。
  • 不同Ruby版本对应的gem环境是独立的,如果系统安装了多个Ruby版本,需要注意当前使用的Ruby版本对应的gem路径。
  • 项目开发中建议使用Gemfile配合Bundler管理依赖,避免直接使用gem install导致不同环境依赖版本不一致的问题。

简单示例:用gem安装并使用一个Ruby库

以下示例演示安装colorize库,实现终端输出彩色文本:

# 先安装colorize库
# gem install colorize

# 编写测试代码 test_color.rb
require 'colorize'

puts "这是红色的文本".red
puts "这是绿色的文本".green
puts "这是蓝色的文本".blue

执行上述代码前先安装colorize库,然后运行ruby test_color.rb就可以看到不同颜色的终端输出。

LinuxgemRubyruby_gems修改时间:2026-06-20 15:12:29

免责声明:​ 已尽一切努力确保本网站所含信息的准确性。网站内容多为原创整理与精心编撰,观点力求客观中立。本站旨在免费分享,内容仅供个人学习、研究或参考使用。若引用了第三方作品,版权归原作者所有。如内容涉及您的权益,请联系我们处理。
内容垂直聚焦
专注技术核心技术栏目,确保每篇文章深度聚焦于实用技能。从代码技巧到架构设计,为用户提供无干扰的纯技术知识沉淀,精准满足专业提升需求。
知识结构清晰
覆盖从开发到部署的全链路。AI、前端、编程、数据库、服务器、建站、系统层层递进,构建清晰学习路径,帮助用户系统化掌握开发与运维所需的核心技术。
深度技术解析
拒绝泛泛而谈,深入技术细节与实践难点。无论是数据库优化还是服务器配置,均结合真实场景与代码示例进行剖析,致力于提供可直接应用于工作的解决方案。
专业领域覆盖
精准对应开发生命周期。从前端界面到后端编程,从数据库操作到服务器运维,形成完整闭环,一站式满足全栈工程师和运维人员的技术需求。
即学即用高效
内容强调实操性,步骤清晰、代码完整。用户可根据教程直接复现和应用于自身项目,显著缩短从学习到实践的距离,快速解决开发中的具体问题。
持续更新保障
专注既定技术方向进行长期、稳定的内容输出。确保各栏目技术文章持续更新迭代,紧跟主流技术发展趋势,为用户提供经久不衰的学习价值。