RubyGems
什么是 RubyGems
RubyGems is a package management framework for Ruby.
https://rubygems.org/
是 Ruby 社区的 Gem 托管服务。让你能便捷、快速的发布、管理你的 Gem 以及安装它们。提供 API 查阅可用 Gem 的详细资料。
安装 RubyGems
- 如果系统环境完全没有安装,先去官网下载
- 下载压缩包
- 解压并 cd 到所在目录
- 通过执行
ruby setup.rb
或者ruby setup.rb --help
进行安装
更新 RubyGems
更新到最新版本:
gem update --system
如果没有安装
rubygems-update
, RubyGems 1.1 和 1.2 的升级会有问题,可以按照以下步骤:
gem install rubygems-update
update_rubygems
查看版本:
gem -v
RubyGems 源
查看所有源
gem sources -l
or
gem sources --list
修改源
因为国内访问官方源会很慢,所以有时候需要切换源
1. 添加 Ruby-China 源,并移除官方源
gem sources --add https://gems.ruby-china.com/ --remove https://rubygems.org/
2. 添加清华源
gem sources --add https://mirrors.tuna.tsinghua.edu.cn/rubygems/
确保仅使用一个源,可以用 remove 命令去掉多余的。
清华大学开源软件镜像站:
https://mirror.tuna.tsinghua.edu.cn/
3. 切换源遇到证书错误问题
以下内容摘抄自 Ruby-China 的说明
正常情况下,你是不会遇到 SSL 证书错误的,除非你的 Ruby 安装方式不正确。
如果遇到 SSL 证书问题,你又无法解决,请修改 ~/.gemrc
文件,增加 ssl_verify_mode: 0
配置,以便于 RubyGems 可以忽略 SSL 证书错误。
---
:sources:
- https://gems.ruby-china.com
:ssl_verify_mode: 0
如果你在意 Gem 下载的安全问题,请正确安装 Ruby、OpenSSL,建议部署 Linux 服务器的时候采用 这个 RVM 安装脚本 的方式安装 Ruby。
Bundler 的 Gem 源镜像命令
可以用 Bundler 的 Gem 源代码镜像命令,这样就不用修改 Gemfile
的 source
bundle config mirror.https://rubygems.org https://gems.ruby-china.com
Bundler
什么是 Bundler
官网:
https://bundler.io/
Bundler provides a consistent environment for Ruby projects by tracking and installing the exact gems and versions that are needed.
Bundler 是项目的 Gem 包版本管理工具
安装
安装 Bundler
gem install bundler
创建 Gemfile
Gemfile 类似 CocoaPods 的 Podfile
source "https://rubygems.org"
gem "cocoapods"
gem "fastlane"
# 这是插件路径,如果使用蒲公英或者 Fir 需要安装其插件 `fastlane add_plugin firim`
plugins_path = File.join(File.dirname(__FILE__), 'fastlane', 'Pluginfile')
eval_gemfile(plugins_path) if File.exist?(plugins_path)
Bundle install
执行完成后会有
Gemfile.lock
文件,类似CocoaPods
的Podfile.lock
bundle install
Bundle update
bundle update
可以指定 Update 某个库
# 更新 fastlane
bundle update fastlane