RubyGem命令详解

flchp 关注2023-08-03112312322


RubyGems

RubyGems的介绍

RubyGems 是 Ruby 的一个包管理器,它提供一个分发 Ruby 程序和库的标准格式,还提供一个管理程序包安装的工具。

RubyGems 旨在方便地管理 gem 安装的工具,以及用于分发 gem 的服务器。

功能上类似于 Ubuntu 下的apt-get, Centos 的 yum,Python 的 pip。

RubyGems的安装

RubyGems大约创建于2003年11月,从Ruby 1.9版起成为Ruby标准库的一部分。也就是说下载了ruby,就包含了RubyGems模块。

RubyGems的版本查看

$ gem -v

RubyGems的更新

//注意:在某些linux发行版中为了系统稳定性此命令禁止执行
$ gem update --system # 需要管理员或root用户

Gem

Gem介绍

Gem 是 Ruby 模块 (叫做 Gems) 的包管理器。其包含包信息,以及用于安装的文件。

常见的gem如rails,devise。

Gem通常是依照".gemspec"文件构建的,包含了有关Gem信息的YAML文件。Ruby代码也可以直接建立Gem,这种情况下通常利用Rake来进行。

gem命令

gem命令用于构建、上传、下载以及安装Gem包。

gem的安装

// 从Gem源安装gem包
$ gem install [gemname]

// 从本机安装gem包
$ gem install -l [gemname].gem

// 安装指定版本的gem包
$ gem install [gemname] --version=[ver]

所有的gem包,会被安装到 /[Ruby root]/lib/ruby/gems/[ver]/ 目录下,这其中包括了Cache、doc、gems、specifications 4个目录,cache下放置下载的原生gem包,gems下则放置的是解压过的gem包。

当gem安装过程中遇到问题时,可以进入这些目录,手动删除有问题的gem包,然后重新运行gem install [gemname] 命令即可。

gem的查询

// 查看本机已安装的所有gem包
$ gem list [--local]

gem的更新

// 更新所有已安装的gem包
$ gem update

// 更新指定的gem包
// 注意:gem update [gemname]不会升级旧版本的包,此时你可以使用 gem install [gemname] --version=[ver]代替
$ gem update [gemname]

//清除所有包旧版本,保留最新版本
$ gem cleanup

gem的删除

// 删除指定的gem包,注意此命令将删除所有已安装的版本
$ gem uninstall [gemname]

// 删除某指定版本gem
$ gem uninstall [gemname] --version=[ver]

创建自己的gem

$ gem build mygem.gemspec


上一篇 返回目录 下一篇