gem 是 Ruby 的包管理工具,用于安装、卸载、管理 Ruby 库(称为 “gems”),类似于 Python 的 pip 或 Node.js 的 npm。通过 gem 命令,你可以轻松获取并使用社区提供的 Ruby 库(如 rails、cocoapods 等)。
# 安装最新版本
gem install
# 例:安装 Rails
gem install rails
# 安装指定版本
gem install -v <版本号>
# 例:安装 6.1.4 版本的 Rails
gem install rails -v 6.1.4
# 安装时不生成文档(加速安装)
gem install --no-document
# 卸载指定版本
gem uninstall -v <版本号>
# 例:卸载 6.1.4 版本的 Rails
gem uninstall rails -v 6.1.4
# 若只安装了一个版本,直接卸载
gem uninstall
# 列出所有已安装的 gems 及其版本
gem list
# 搜索指定 gem(检查是否安装)
gem list <关键词>
# 例:搜索 rails 相关的 gems
gem list rails
# 更新指定 gem 到最新版本
gem update
# 例:更新 Rails
gem update rails
# 更新所有已安装的 gems(谨慎使用,可能引发依赖冲突)
gem update
# 更新 gem 工具本身
gem update --system
# 查看指定 gem 的详细信息(作者、版本、依赖等)
gem info
# 例:查看 cocoapods 信息
gem info cocoapods
# 从 RubyGems 仓库搜索 gem(需联网)
gem search <关键词>
# 例:搜索 json 相关的 gems
gem search json
# 查看当前源
gem sources
# 添加新源(如 Ruby China)
gem sources --add https://gems.ruby-china.com/
# 移除默认源(避免冲突)
gem sources --remove https://rubygems.org/
# 清空所有源(谨慎使用)
gem sources --clear-all
# 移除已安装 gem 的旧版本(保留最新版)
gem cleanup
# 清理指定 gem 的旧版本
gem cleanup
系统 Ruby 安装的 gems 通常在 /Library/Ruby/Gems/ 或 /usr/local/lib/ruby/gems/。
通过 rbenv 管理的 Ruby,gems 安装在 ~/.rbenv/versions/<版本号>/lib/ruby/gems/。
可通过 gem env 查看详细路径信息(如 INSTALLATION DIRECTORY)。
注意事项
系统自带的 Ruby 可能需要 sudo 权限安装 gems(如 sudo gem install cocoapods),但建议用 rbenv 等工具管理 Ruby 版本,避免权限问题。
部分 gems 依赖系统库(如 nokogiri 依赖 libxml2),安装失败时需先安装对应系统依赖(可通过 brew 或 apt 等工具)。
Gemfile + bundler 是项目级别的依赖管理方案,比直接用 gem 更适合团队协作(锁定版本,避免冲突)。
gem 是 Ruby 生态的基础工具,掌握它能高效管理 Ruby 库,提升开发效率。