Bundle、Gem、Gemfile关系
2018-05-30 本文已影响414人
ChenJZ
rvm 是用来管理 ruby 的,ruby 的其中一个“程序”叫 rubygems ,简称 gem,而用来管理项目的 gem 的,叫 bundle ,他俩完全是不同的东西,相同的只是都可以管理gem。bundler 用来管理 fastlane 自身版本和 fastlane 运行时的相关依赖版本, 相当于 iOS 开发中的 CocoaPods 框架, 使用方法也和 CocoaPods 如出一辙
fastlane 会使用 Gemfile 里面指定的版本使用程序
例子:
gem 'cocoapods' , '~> 1.2.0'
bundle install 安装当前项目的 gem 库
由上面的原理可以得出:
如果在公司里面统一使用 Cocoaspod的 版本,可以参考下面的方法
安装:
gem install bundler
创建 gemfile 文件
cd 项目目录
bundle init
这样, 与 .xcodeproj 同级的目录中就会多出一个 Gemfile 文件。
在 Gemfile 里添加如下代码,指定 pod 版本
# frozen_string_literal: true
source "https://rubygems.org"
# gem "rails"
gem 'cocoapods', '0.39.0'
到这里已经安装完毕,使用起来也很简单
在之前执行的命令前面加上 bundle exec
就好了,如:
bundle exec pod install --verbose --no-repo-update
或者
bundle exec pod update --verbose --no-repo-update
cocoapods-downloader