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

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就可以看到不同颜色的终端输出。