Mac基础开发知识03-RubyGems与Bundler

219 阅读3分钟

1、是什么?

RubyGems 是 “Ruby Package Management System” (Ruby 包管理系统)。

“Gems” 指的是一个个独立的 Ruby 程序包,它们就像一个个功能模块,能为 Ruby 项目增添各种各样的功能。这些 Gems 可以包含代码库、工具、应用程序等,借助 RubyGems 这个包管理系统,开发者能轻松地对 Gems 进行查找、安装、更新和卸载等操作。例如,像 rails 这个 Gem 为开发者提供了构建 Web 应用程序的完整框架;nokogiri 这个 Gem 能让开发者方便地处理 HTML 和 XML 文档。

2、怎么用?

RubyGems 是 Ruby 的包管理系统,用于管理和分发 Ruby 库和程序,即 “Gems”。以下介绍不同操作系统下安装 RubyGems 的 Gems 的方法。

前提条件

在安装 Gems 之前,需要确保系统已经安装了 Ruby 和 RubyGems。可以通过以下命令检查它们是否已安装以及查看版本:

ruby -v
gem -v

如果未安装,需要先安装 Ruby,RubyGems 通常会随 Ruby 一起安装。

基本安装方法

使用 gem install 命令

最常见的安装 Gem 的方式是使用 gem install 命令,后跟要安装的 Gem 名称。例如,要安装 rails 这个 Gem,可以运行以下命令:

gem install rails

此命令会从 RubyGems 的官方源(rubygems.org/)下载并安装最新版本的 rails Gem 及其依赖项。

指定版本安装

如果需要安装特定版本的 Gem,可以使用 --version 或 -v 选项,后跟版本号。例如,安装 rake Gem 的 13.0.6 版本:

gem install rake -v 13.0.6

处理安装问题

更换 Gem 源

由于网络问题,从官方源下载 Gem 可能会很慢甚至失败。可以更换为国内的镜像源,如 Ruby China 镜像。

  • 查看当前源
gem sources -l
  • 移除官方源
gem sources --remove https://rubygems.org/
  • 添加 Ruby China 源
gem sources -a https://gems.ruby-china.com/
  • 再次查看源确保更换成功
gem sources -l
使用 sudo (针对系统级安装)

在某些系统中,由于权限问题,可能需要使用 sudo 来以管理员权限安装 Gem。例如:

sudo gem install rails

其他安装方式

从本地文件安装

如果有 Gem 的本地 .gem 文件,可以使用以下命令从本地安装:

gem install /path/to/your.gem

将 /path/to/your.gem 替换为实际的 .gem 文件路径。

从 Git 仓库安装

有些 Gem 可能没有发布到 RubyGems 官方源,而是托管在 Git 仓库中。可以使用 gem install 结合 --source 选项从 Git 仓库安装。例如:

gem install some_gem --source git://github.com/user/some_gem.git

批量安装(使用 Gemfile

在 Ruby 项目中,通常会使用 Gemfile 来管理项目依赖。Gemfile 列出了项目所需的所有 Gem 及其版本。

  1. 在项目根目录创建或编辑 Gemfile,示例内容如下:
source 'https://rubygems.org'

gem 'rails', '~> 7.0.0'
gem 'sqlite3', '~> 1.4'
  1. 安装 Bundler(如果未安装):
gem install bundler
  1. 使用 bundle install 命令安装 Gemfile 中指定的所有 Gem:
bundle install

这会根据 Gemfile 的配置,自动处理依赖关系并安装所需的 Gem。