Gemfiles

首先,gemfiles 需要至少一个源,以 RubyGems 服务器的 URL 的形式。

使用 bundle init 生成带有默认 rubygems.org 源的 Gemfile。使用 https,以便使用 SSL 验证你与服务器的连接。

source 'https://rubygems.org'

接下来,声明你需要的宝石,包括版本号。

gem 'rails', '4.2.6'
gem 'rack',  '>=1.1'
gem 'puma',  '~>3.0'

大多数版本说明符,如> = 1.0,都是不言自明的。说明符〜>具有特殊含义。 〜> 2.0.3 与> = 2.0.3 和<2.1 相同。 〜> 2.1 与> = 2.1 和<3.0 相同。 〜> 2.2.beta 将匹配像 2.2.beta.12 这样的预发布版本。

只要 repo 包含一个或多个有效的 gem,Git 存储库也是有效的 gem 源。使用:tag:branch:ref 指定要查看的内容。默认为 master 分支。

gem 'nokogiri', :git => 'https://github.com/sparklemotion/nokogiri', :branch => 'master'

如果你想直接从文件系统使用解压缩的 gem,只需将:path 选项设置为包含 gem 文件的路径即可。

gem 'extracted_library', :path => './vendor/extracted_library'

依赖关系可以放入组中。可以在安装时(使用 --without)忽略组或一次性需要(使用 Bundler.require)。

gem 'rails_12factor', group: :production

group :development, :test do
  gem 'byebug'
  gem 'web-console', '~> 2.0'
  gem 'spring'
  gem 'dotenv-rails'
end

你可以使用 ruby 在 Gemfile 中指定所需的 Ruby 版本。如果 Gemfile 在不同的 Ruby 版本上加载,Bundler 将引发一个带有解释的异常。

ruby '2.3.1'