RVM(Ruby Version Manager)
RVM
是一个命令行工具,可以提供一个便捷的多版本Ruby
环境的管理和切换。与rbenv
rbenv 使用指南
相似.
安装
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]/
目录下,这其中包括了cache
、doc
、gems
、specifications
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
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
里