• 1

  • 476

Ruby工具链

1 month ago

RVM(Ruby Version Manager)

RVM官方地址

Ruby China

github

RVM是一个命令行工具,可以提供一个便捷的多版本Ruby环境的管理和切换。与rbenv rbenv 使用指南 相似.

安装

RVM官方推荐安装

RubyGems

RubyGems(简称 gems)是一个用于对 Ruby组件进行打包的 Ruby 打包系统。 它提供一个分发 Ruby 程序和库的标准格式,还提供一个管理程序包安装的工具.

Ruby1.9.1 以后的版本自带RubyGems,直接在终端gem update --system升级到最新版即可.

安装Gem

RubyGems.org 是官方的Gem托管中心,RubyGems就是从这里远程下载gem包的。RubyGems 将所有的gem包 安装到 /[ruby root]/lib/ruby/gems/[ver]/ 目录下,这其中包括了cachedocgemsspecifications 4个目录,cache下放置下载的原生gem包,gems下则放置的是解压过的gem包。当安装过程中遇到问题时,可以进入这些目录,手动删除有问题的gem包,然后重新运行 gem install [gemname] 命令即可.

源配置

Gem默认的源是rubygems.org/, 但是天朝下我们的下载安装gem会出现网络问题,所以这边我们可以改用国内的源gems.ruby-china.com/.

$ gem sources --remove https://rubygems.org/
$ gem sources -a https://gems.ruby-china.com/
$ gem sources -l
*** CURRENT SOURCES ***

https://gems.ruby-china.com/
复制代码

终端命令

# 查看RubyGems软件的版本
gem -v

# 更新升级RubyGems软件自身
gem update --system

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

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

# 安装指定gem包,程序先从本机查找gem包并安装,如果本地没有,则从远程gem安装。
gem install [gemname]

# 仅从本机安装gem包
gem install -l [gemname]

# 仅从远程安装gem包
gem install -r [gemname]

# 安装gem包,但不安装相关文档文件
gem install [gemname] --no-ri --no-rdoc

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

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

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

# 查看本机已安装的所有gem包
gem list

# 列出远程RubyGems.org 上有此关键字的gem包(可用正则表达式)
gem list -r keyword

# 列出远程RubyGems.org 上所有Gmes清单,并保存到文件。
gem list -r > remote_gem_list.txt

#查看所有gem包文档及资料
gem server

#显示RubyGem使用帮助
gem help

#列出RubyGem命令一些使用范例
gem help example
复制代码

常用Gem

推荐 Ruby Gem 列表

cocoapods, Jenkins, git, fastlane

bundler

bundler主要用于管理Ruby应用程序的依赖关系,并按照此依赖关系安装所需的Gems.类似于iOS中常用的cocoapods.

Gemfile

简介

Gemfile 是我们创建的一个用于描述 gem 之间依赖的文件. Gemfile 必须放在项目的根目录下面,这是Bundler的要求,对于任何的其他形式的包管理文件来说,这也是标准.

这里值得注意的一点是 Gemfile 会被作为Ruby 代码来执行.当在 Bundler 上下文环境中被执行的时能使我们访问一些方法,我们用这些方法来解释 gem 之间的 require 关系.

创建

通过bundle init可创建出Gemfile文件

编辑

source 'https://rubygems.org'

gem 'sinatra', '~> 1.3.6'
gem 'rack-cache'
gem 'rack-bug'
复制代码

安装Gem

根据Gemfile文件安装gem

bundle install
复制代码

更新Gem

根据Gemfile文件更新gem 更新个别gem

bundle update sinatra
复制代码

更新所有gem

bundle update
复制代码

Gemfile.lock

如果任何需要的gem已经被安装了,bundler 会直接使用它们.在你的系统上安装完所有的 gem 后,bundler 会写一个所有这些 gem 和它们的版本号的快照到 Gemfile.lock

参考

版本管理工具及 Ruby 工具链环境

为什么我们要使用 RVM / Bundler ?

Rubygems 与 gem

Bundler 到底是怎么工作的 (暨 Ruby 依赖管理历史回顾)

Ruby 包管理分析

Bundler 的作用及原理

Gemfile 详解

免责声明:文章版权归原作者所有,其内容与观点不代表Unitimes立场,亦不构成任何投资意见或建议。

ios

476

Relevant articles

未登录头像

No more data